我使用拖放區作爲窗體的一部分。即。該表單除了dropzone字段之外還有其他元素。此外,沒有新的視圖加載表單提交後,只是一些js代碼如此remote = true。該形式如下:dropzone在窗體中 - InvalidAuthenticityToken
<%= form_tag submit_form_path, method: "POST", "data-abide" => "", 'autocomplete' => 'off', id: "id-of-form", remote: true, multipart: true do %>
<div class="dropzone" id="myDropzone"></div>
<%= text_field_tag "name", ....
<%= text_field_tag "number", "", ....
<%= text_field_tag "email", "", ....
<%= submit_tag "submit", id: "submit-button" ....
<% end %>
JS
}
在提交表單我得到Can't verify CSRF token authenticity Completed 422 Unprocessable Entity in 2ms ActionController::InvalidAuthenticityToken
UPDATE: 解決無效的真實性令牌問題。但是,現在我得到一個ActionView::MissingTemplate - Missing template
錯誤。 將dropzone添加到表單之前。我成功地能夠提交表單並執行一些js代碼(submit_details.js.erb)而無需重新加載頁面。
,但現在它
Processing by XyzController#submit_details as JSON
和
ActionView::MissingTemplate - Missing template xyz/submit_details, application/submit_enquiry with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :arb, :jbuilder]}.
控制器:
我評論的一切,而且功能也只是
def submit_enquiry
#commented stuff
puts "checking "
respond_to do |format|
format.html
format.js
format.json { render :json => true }
end
end
個日誌是:
開始POST 「/ submit_form」 爲127.0.0.1,在2016年10月5日14時28分00秒+0800
14時28分00秒web.1 |通過XyzController#submit_details處理爲JSON
14:28:00 web.1 |參數:{「firstname」=>「something」,「lastname」=>「something」,「file」=> {「0」=>#,@ original_filename =「filename.png」,@ content_type =「image/png 「,@ headers =」Content-Disposition:form-data; name = \「file [0] \」; filename = \「filename.png \」\ r \ nContent-Type:image/png \ r \ n「> },「language」=>「en」}
14:28:00 web.1 |檢查
14:28:00 web.1 |已完成406在2毫秒內不可接受 14:28:00 web.1 | 14:28:00 web.1 | ActionController的:: UnknownFormat - 的ActionController :: UnknownFormat:
這解決了無效的真實性令牌問題。謝謝。請參閱更新。 – smanvi12
@ sakshik12這個答案可能有幫助http://stackoverflow.com/a/32915600/5306391 –
我檢查了鏈接,但我無法一起迴應js和json。我在我的控制器中有 - 「respond_to do | format |」 format.html format.js format.json {render:json => true} end' ...我可以在日誌中看到請求,但在此之後它不做任何事情。 – smanvi12