В моем приложении у меня есть RecipesController и commentController. Все комментарии принадлежат рецепту и могут быть проголосованы. Вот отрывок из моего routes.rb:Ошибка маршрутизации Rails с вложенными ресурсами
resources :recipes do
member do
put 'vote_up'
post 'comment'
end
resources :comments do
member do
put 'vote_up'
end
end
end
Если я бег рек маршрутов, я считаю следующий маршрут выхода:
vote_up_recipe_comment PUT /recipes/:recipe_id/comments/:id/vote_up(.:format) {:action=>"vote_up", :controller=>"comments"}
CommentsController имеет метод, называемый vote_up.
Кроме того, ссылки на маршрут работ (с моей точки зрения)
<%= link_to 'Vote up', vote_up_recipe_comment_path(@recipe, comment), :method => 'put' %> <br />
Однако, нажав на эту ссылку дает мне следующую ошибку:
Routing Error
No route matches "/recipes/7/comments/4/vote_up"
Что мне не хватает? Я не уверен, как отлаживать это, потому что, насколько я вижу, маршрут должен совпадать.
Спасибо большое, что сделал трюк. Я действительно удалил некоторые из файлов javascript. Оглядываясь назад, это очевидно, но, вероятно, мне понадобилось много времени, чтобы найти. –