Это просто продолжение ответа Брейди.
Брэди имел следующий код в своем представлении
<%= link_to('vote for this post!', vote_up_post_path(@post), :method => :post) %>
что он имеет в виду .. так как link_to по умолчанию использует :method => 'get'
и он хотел обновить запись, используя post & not get, поэтому он использует :method => 'post'
U может использовать <% = button_to ('голосуйте за это сообщение!', Voice_up_post_path (@post)%>, потому что кнопка по умолчанию использует :method => :post
поэтому маршруты должны быть
resources :posts do
member do
post :vote_up
end
end
здесь, в post :vote_up
внутри элемента, это method => :post
, а не контроллер почты
но если вы решили использовать link_to
без :method => :post
что-то вроде этого
<%= link_to('vote for this post!', vote_up_post_path(@post)) %>
тогда ваш маршрут должен быть
resources :posts do
member do
get :vote_up
end
end
Надеюсь, это поможет!