В моих тестах RSpec мне нужно смоделировать запрос AJAX GET к действию index, и я использую код, как описано в документации по Rails и книге RSpec:
xhr :get, :index
Это всегда терпит неудачу, поскольку тест пытается загрузить действие show (без каких-либо параметров), а не указанное действие index.
Действие контроллера:
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-вызов действия индекса в тестах?
Спасибо!