私は次のような単純なajax削除リクエストを送信しています:
#invitation_actions
=link_to "delete", invitation_path(invitation), :method=>:delete, :remote=>true, :class=>"remove", :confirm=>'Are you sure you?'
すべてのページに含まれているcsrf_meta_tagタグのおかげで、リクエストがあるページにはauthenticity_tokenが含まれていることに注意してください。
ログを見ると、削除リクエストにauthenticity_tokenがないことがわかります。
2011-04-2211:21:21-0700に127.0.0.1のDELETE"/invitations / 5"を開始しました。パラメーターとしてのInvitationsController#destroyによる処理:{"id" => "5"}
ここで、コードから「:remote =>:true」を削除すると、つまり、通常のページの読み込みを実行すると、削除が機能し、ログファイルに次のように表示されます。
2011-04-2212:52:19-0700に127.0.0.1のPOST"/invitations / 10"を開始しました。HTMLパラメーターとしてのInvitationsController#destroyによる処理:{"authenticity_token" => "qlT8uX / WGQeOQSmVZzw1v8rFdSTHDRbzNY0zpSc9mV0 ="、 "id" =>"5"}
AJAXの場合はDELETE、AJAX以外の場合はPOSTなのはなぜですか?DELETEにauthenticity_tokenが含まれていないのはなぜですか?
助けてくれてありがとう。