Rails 5和carrierwave
我补充说:
gem 'remotipart', '~> 1.3.1'
和
//= require jquery.remotipart
我有以下表格:
= simple_form_for state, remote: true do |f|
= f.input :wsr
该表格的输出:
<form class="simple_form" novalidate="novalidate" id="edit_odc_state_73" enctype="multipart/form-data" action="/odc_states/73" accept-charset="UTF-8" data-remote="true" method="post">
但是当我提交表格时:
Started PATCH "/odc_states/73" for 127.0.0.1 at 2016-12-29 16:02:56 +0700
Processing by OdcStatesController#update as HTML
Parameters: {"utf8"=>"✓", "odc_state"=>{"wsr"=>#<ActionDispatch::Http::UploadedFile:0x007f67ba393338 @tempfile=#<Tempfile:/tmp/RackMultipart20161229-10725-1r3sn5z.txt>, @original_filename="test1.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"odc_state[wsr]\"; filename=\"test1.txt\"\r\nContent-Type: text/plain\r\n">}, "id"=>"73"}
Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity in 1ms (ActiveRecord: 0.0ms)
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
为什么要以HTML格式发送任何想法?
答案 0 :(得分:1)
我通过替换
解决了这个问题//= require jquery-ujs
与
//= require rails-ujs
application.js
中的(Rails 5.1.4)
答案 1 :(得分:0)
添加“authenticity_token:true”
simple_form_for state,