Получение UrlGenerationErrorr при попытке запустить тест

1) Ошибка: SummariesControllerTest#test_should_get_edit: ActionController::UrlGenerationError: Маршрут не соответствует тесту {:action=>"edit", :controller=>"summaries", :summary=>"298486374", :summary_id=>"298486374"} /controllers/summaries_controller_test.rb:23:in `блок в '

это тест, вызывающий ошибку

test "should update summary" do
  xhr :patch, :udpate, id: @summary.id, summary: { text: @summary.text }
  assert_response :success
end

действие контроллера:

 def update
  @listing = Listing.find(summary_params[:listing_id])
  @summary = Summary.find(params[:id])
  @summary.update_attributes(listing_id: summary_params[:listing_id], text: summary_params[:text], id: params[:id])
end

и маршруты:

Rails.application.routes.draw do
  resources :listings
  resources :summaries
  resources :highlights
end

введите здесь описание изображения

маршрут есть, действие тоже есть, но появляется ошибка, кто-нибудь видит мою ошибку? Спасибо за помощь.


person Javier Perez    schedule 06.02.2015    source источник


Ответы (2)


У вас опечатка (в слове "обновление"):

xhr :patch, :udpate, id: @summary.id, summary: { text: @summary.text }

должно быть:

xhr :patch, :update, id: @summary.id, summary: { text: @summary.text }
person holographic-principle    schedule 06.02.2015
comment
эй, спасибо за ответ, это был хороший улов, но это не исправило ошибку. у вас есть другая идея? это та же ошибка - person Javier Perez; 07.02.2015
comment
Опубликуйте полную трассировку стека и вывод rake routes - person holographic-principle; 07.02.2015
comment
есть маршруты рейка, на самом деле нет полной трассировки стека, ошибка - это все, что мне выдает. - person Javier Perez; 07.02.2015
comment
@JavierPerez Вы уверены, что это тест выдает ошибку? Я вижу test_should_get_edit во вставленном выводе. - person holographic-principle; 07.02.2015

test "should update summary" do
  xhr :patch, :udpate, id: @summary.id, summary: { text: @summary.text }
  assert_response :success
end

Привет, спасибо за ответы, проблем с маршрутами не было, но мне пришлось передать id: @summary.id, так как это было нужно для листинга. Я изменил тест, и он прошел.

person Javier Perez    schedule 06.02.2015