我从Rails的2.3升级我的应用程序的过程到Rails 3.我读,我需要插入的Rails 3 CSRF_meta_tag不正常
<%= csrf_meta_tag%>
在我的布局,我做的。不幸的是,当我使用ajax请求时,我一直在注销。经过一番研究,我发现一个较旧的方法是在我的application.js文件中添加
$j(document).ajaxSend(function(e, xhr, options) {
var token =$j("meta[name='csrf-token']").attr("content");
xhr.setRequestHeader("X-CSRF-Token", token);
});
。它现在正常工作(看来我其实不需要csrf_meta_tag)。
这是正常的,我不得不添加这4行代码在我的application.js而不是只是csrf_meta_tag,或者我只是失去了一些东西?
对不起,我有点困惑:我找不到任何jquery-ujs gem(将它添加到我的Gemfile中,找不到它,运行rails generate query:install说它找不到生成器查询:安装)。它是否带有导轨?什么是Jquery-urj? – alex
我的不好。它叫做jquery-ujs,但是它的名字是jquery-rails。请参阅https://github.com/rails/jquery-ujs。请按照其自述。 jquery-urj是一个错字我要更新答案。 –
另一个错误是,生成命令是真的“导致生成jquery:安装” – dgmdan