我正在将我的应用程序从 Rails 2.3 升级到 Rails 3。我读到我需要插入
<%= csrf_meta_tag %>
在我的布局中,我做到了。不幸的是,当我使用 ajax 请求时,我一直被注销。经过一番研究,我发现一种较旧的方法是添加
$j(document).ajaxSend(function(e, xhr, options) {
var token =$j("meta[name='csrf-token']").attr("content");
xhr.setRequestHeader("X-CSRF-Token", token);
});
在我的 application.js 文件中。它现在可以正常工作(看来我实际上不需要 csrf_meta_tag)。
我必须在我的 application.js 中添加这 4 行代码而不仅仅是 csrf_meta_tag 是正常的,还是我只是遗漏了什么?