Я отправляю простой запрос на удаление ajax, например так:
#invitation_actions
=link_to "delete", invitation_path(invitation), :method=>:delete, :remote=>true, :class=>"remove", :confirm=>'Are you sure you?'
Обратите внимание, что страница, содержащая запрос, содержит authenticity_token благодаря тегу csrf_meta_tag, который включен во все страницы.
Когда я просматриваю логи, я вижу, что в запросе на удаление отсутствует знак authenticity_token:
Запущен DELETE "/ invitations / 5" для 127.0.0.1 в 2011-04-22 11:21:21 -0700 Обработка с помощью InvitationsController # destroy as Parameters: {"id" => "5"}
Теперь, если я удаляю ": remote =>: true" из кода, т.е. я делаю обычную страницу, загружаюудаление работает, и я вижу следующее в файле журнала:
Запущен POST "/ invitations / 10" для 127.0.0.1 в 2011-04-22 12:52:19 -0700 Обработка в InvitationsController # уничтожить как HTMLПараметры: {"authenticity_token" => "qlT8uX / WGQeOQSmVZzw1v8rFdSTHDRbzNY0zpSc9mV0 =", "id" => "5"}
Почему это DELETE в случае AJAX и POST в не-A?Почему DELETE не включает в себя маркер authenticity_token?
Спасибо за любую помощь.