Я делаю простой тестовый проект, чтобы подготовиться к тесту.Я довольно плохо знаком с вложенными ресурсами, в моем примере у меня есть новостной элемент, и у каждого новостного элемента есть комментарии.
Маршрутизация выглядит следующим образом:
resources :comments
resources :newsitems do
resources :comments
end
Я настраиваю функционалтесты на комментарии в данный момент, и я столкнулся с некоторыми проблемами.
Это позволит получить индекс комментариев к новостному элементу.@newsitem объявлен в настройке c.
test "should get index" do
get :index,:newsitem_id => @newsitem
assert_response :success
assert_not_nil assigns(:newsitem)
end
Но проблема заключается здесь, в "должен получить новый".
test "should get new" do
get new_newsitem_comment_path(@newsitem)
assert_response :success
end
Я получаю следующую ошибку.
ActionController::RoutingError: No route matches {:controller=>"comments", :action=>"/newsitems/1/comments/new"}
Но когда я просматриваю таблицу маршрутов, я вижу это:
new_newsitem_comment GET /newsitems/:newsitem_id/comments/new(.:format) {:action=>"new", :controller=>"comments"}
Не могу ли я использовать путь имени или что я здесь делаю неправильно?
Заранее спасибо.