Как будет выглядеть мой помощник Delete в Rails 3 для маршрута, который является вложенным? - PullRequest
0 голосов
/ 12 сентября 2011

Когда в моем routes.rb было только resources :feedback, я бы использовал этот помощник, который бы работал нормально:

<%= link_to 'Delete', feedback, :confirm => 'Are you sure?', :method => :destroy %>

Но теперь, учитывая, что я обновил маршрут до:

scope ":username" do
  resources :feedbacks
end

Я получаю эту ошибку:

ActionView::Template::Error (No route matches {:action=>"show", :controller=>"feedbacks", :username=>#<Feedback id: 1, poster_id: 1, receiver_id: 2, content: "Test 2 is awesome", created_at: "2011-09-10 23:00:32", updated_at: "2011-09-10 23:00:32">}):

Как создать ссылку на Delete/Destroy, используя вспомогательный метод Rails для этого вложенного ресурса?

Спасибо.

1 Ответ

4 голосов
/ 12 сентября 2011

Вы всегда можете запустить Rake Routes, чтобы увидеть, что сгенерировала система маршрутизации, в вашем случае:

feedbacks GET    /:username/feedbacks(.:format) {:action=>"index", :controller=>"feedbacks"}
feedback DELETE /:username/feedbacks/:id(.:format) ....

<< был неправильный фрагмент кода </p>

UPD

Итак, вы помощник:

feedback_url('username', feedback.id)

и link_to

= link_to 'Delete', feedback_url(user.name, feedback.id), :method => :delete
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...