我有一个控制器,使用AJAX的CRUD,但每当我点击我的一个远程链接(例如删除)我看到rails服务器已决定注销我并重定向我。对服务器日志的检查表明它无法验证CSRF真实性。我如何在请求中包含CSRF令牌?根据AJAX请求设计登录用户。 Rails 3.1
运行: - Rails的3.1 - 设计1.4.4 - jQuery的轨道1.0.13
相关负责操作:
def destroy
@article = Article.find(params[:id])
if @article.destroy
flash[:notice] = "Article deleted."
respond_to do |format|
format.html{redirect_to articles_path}
format.js{}
end
else
flash[:error] = "Try Again."
redirect_to :back
end
布局/ application.html.erb
<head>
<title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap-1.1.1.min.css>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag :defaults %>
<script type="text/javascript">jQuery.ajaxSetup({ beforeSend: function (xhr) { xhr.setRequestHeader("Accept", "text/javascript"); } });</script>
<%= csrf_meta_tag %>
<%= yield(:head) %>
</head>
在此先感谢。
啊,这也解决了我的问题。谢谢! – neezer