すべて、putメソッドで動作するカスタムアクションを取得しようとしています。
_post.html.erbにlink_toステートメントがあります:
<%= link_to 'End now', post, :method => :put, :action => endnow %>
ルート.rbに含まれるもの:
resources :posts do
member do
put :endnow
end
そしてposts_controller.rbは次のようになります:
class PostsController < ApplicationController
helper_method :endnow
[.. code for create, edit, destroy, etc ..]
def endnow
puts params
end
end
rakeルートの関連行は次のようになります:endnow_post PUT / posts /:id / endnow(.: format)posts#endnow
ただし、このリンクをクリックすると、アクションendnowヘルパーは実行されません。不思議なことに、インデックスアクションで実行されます(putsコマンドからわかります。もちろん、最終的にendnowのコードは@postを更新しますが、今のところ、正しく実行されません。
たぶん私はこれを間違った方法で行っています-私が達成しようとしているのは、その投稿へのリンクをクリックして表示する前に@postを更新することだけです。
アイデア/代替案はありますか?