1

モーダルボックスに表示されるアップロードフィールドを持つフォームがあり、それを送信すると、このモーダルを閉じずにエラーが表示されますが、エラーが発生し、ファイルフィールドに既にアップロードされたファイルがある場合、リクエストJavaScript ではなく HTML で処理されます。この問題を解決するために何ができるか知っている人はいますか? ありがとう

4

1 に答える 1

0

application_controller.rb

skip_before_action :verify_authenticity_token, if: :json_request? #add this line to json request

your_action.html.erb

<%= form_for @object, :html => {:multipart => true}, remote: true do |f| %>
    <%= f.file_field :file%>
    <%= f.submit "Save" %>
<% end %>

your_object_controller

@object = Object.new(object_params)

respond_to do |format|
    if @object.save
        format.js
    end
end

your_action.js.erb

<% if remotipart_submitted? %>
    alert('submitted via remotipart');
<% else %>
    alert('submitted via native jquery-ujs');
<% end %>

詳細なドキュメントについては、https://github.com/JangoSteve/remotipartにアクセスしてください。

于 2014-09-10T18:59:58.163 に答える