加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 模拟XHR GET请求

发布时间:2020-12-16 19:09:30 所属栏目:百科 来源:网络整理
导读:在我的RSpec测试中,我需要模拟对索引操作的 AJAX GET请求,并且一直在使用Rails文档和RSpec书中描述的代码: xhr :get,:index 但总是会失败,因为测试试图加载show动作(没有任何参数)而不是指定的索引动作. 控制器动作是: def index @contacts = Contact.all
在我的RSpec测试中,我需要模拟对索引操作的 AJAX GET请求,并且一直在使用Rails文档和RSpec书中描述的代码:
xhr :get,:index

但总是会失败,因为测试试图加载show动作(没有任何参数)而不是指定的索引动作.

控制器动作是:

def index      
  @contacts = Contact.all

  respond_to do |format|
    format.html 
    format.js   { 
      render :update do |page|
        page.replace_html :contact_search_results,:partial => 'contacts'
      end
    }
  end
end

运行规范引发的错误是(显示:正在使用的show动作):

ActionView::TemplateError in 'ContactsController as an administrator user when
showing the index of contacts' as an AJAX request should render results into the
contact_search_results element'

contact_url failed to generate from {:action=>"show",:controller=>"contacts",:id=>#<Contact id: nil,first_name: nil,....>}

有谁知道如何在测试中模拟AJAX调用索引操作?

谢谢!

解决方法

其实我觉得你误解了这个错误.在某些地方,Rails试图调用contact_url并且参数错误.我怀疑它确实在调用索引动作,然后将联系人部分呈现.如果我是对的,联系人部分是问题的位置.我建议检查联系人部分是否存在任何可能的错误.如果您仍然遇到问题,请将您的联系人的正文部分发布.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读