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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 模拟XHR GET请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的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调用索引操作?

谢谢!

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

猜你在找的Ruby相关文章