在rails 3.0.3中上传时,ActionController :: InvalidAuthenticityToken

时间:2011-03-04 10:51:09

标签: ruby-on-rails-3 file-upload

我使用的是Ruby 1.8.7和Rails 3.0.3。

当我上传文件时,我收到以下错误:

ActionController::InvalidAuthenticityToken

我尝试在模型文件中添加以下内容:

  1. protect_from_forgery :only => [:create, :update, :destroy]
  2. skip_before_filter :verify_authenticity_token

    如何解决?

2 个答案:

答案 0 :(得分:0)

检查表单中的HTML并确保存在<input name="authenticity_token" type="hidden" value="some_long_random_string" />等元素。

如果您没有使用rails'表单助手,或者您以某种方式使用javascript绕过它们,那么您不会在请求中获得该令牌。这使您可以选择禁用伪造保护还是修复表单。

答案 1 :(得分:0)

我刚遇到这个问题并通过确保&lt;%= csrf_meta_tag%&gt;来修复它包含在定义html头部分的任何地方。

当我开始使用自定义布局并意外忘记包含该令牌时,这个问题就出现了。

如果在视图中定义html head部分,则需要将csrf元标记包含在其中。