如何在不使用form_for的情况下包含authenticity_token?

时间:2013-06-17 19:20:34

标签: ruby-on-rails-3 ruby-on-rails-3.2

我的许多小页面与Rails 3.2.13项目中基于标准资源的表单不对应。我正在使用这些表单中的Ajax调用来执行POST。我收到了错误:

WARNING: Can't verify CSRF token authenticity

导致我的会话失效,我被重定向到登录页面。

如何在不使用form_for的情况下包含CSRF内容?

1 个答案:

答案 0 :(得分:2)

要在视图中包含带有CSRF令牌的隐藏输入字段,请使用

<%= hidden_field_tag(request_forgery_protection_token.to_s, form_authenticity_token) %>

form_for使用方法FormTagHelper.token_tag,但它是私有方法,无法直接使用。