Rails 3简单的AJAX删除无法正常工作,因为没有随请求发送authenticity_token
|
我正在提交一个简单的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-22 11:21:21 -0700开始为127.0.0.1的DELETE \ / invitations / 5 \
由InvitationsController#destroy处理为
参数:{\“ id \” => \“ 5 \”}
现在,如果我从代码中删除\“:remote =>:true \”,即我执行常规页面加载删除工作,并且在日志文件中看到以下内容:
在2011-04-22 12:52:19 -0700为127.0.0.1开始发布POST \“ / invitations / 10 \”
由InvitationsController#destroy处理为HTML
参数:{\“ authenticity_token \” => \“ qlT8uX / WGQeOQSmVZzw1v8rFdSTHDRbzNY0zpSc9mV0 = \”,\“ id \” => \“ 5 \”}
为什么在AJAX情况下是DELETE而在非AJAX情况下是POST?
为什么DELETE不包含authenticity_token?
谢谢你的帮助。
没有找到相关结果
已邀请:
2 个回复
抵浮细
辩谷变充
标记内添加
。该帮助程序将附加一些附加的
标记,这对于
脚本组成有效的POST请求是必需的。