我使用的是Ruby 1.8.7和Rails 3.0.3。
当我上传文件时,我收到以下错误:
ActionController::InvalidAuthenticityToken
我尝试在模型文件中添加以下内容:
protect_from_forgery :only => [:create, :update, :destroy]
skip_before_filter :verify_authenticity_token
如何解决?
答案 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元标记包含在其中。