如果远程:在表单中使用true,则Authenticity_token消失

时间:2016-02-20 18:10:32

标签: ruby-on-rails ruby-on-rails-4

我正在使用remote:true选项进行Rails 4表单。问题是当我使用远程true时,我的authenticity_token消失了。但是我仍然可以提交输入文本的表单,但是当我上传文件时,我收到了这个错误:



ActionController::InvalidAuthenticityToken




我在StackOverflow上搜索并找到了这个解决方案:



# application_controller.rb
protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json' }




但是这样我的表单就会以html格式提交。很奇怪,不知道该怎么做。

编辑:我添加了



:authenticity_token => true




到我的form_for,所以现在我有了我的authenticity_token设置,但现在就像使用:: null_session添加protect_from_forgey一样,我的表单以普通html的形式提交。

1 个答案:

答案 0 :(得分:-1)

将此gem用于上传文件为remot true

gem 'remotipart', '~> 1.2'

https://github.com/JangoSteve/remotipart