使用Rails进行AJAX文件上传

时间:2013-02-05 18:08:38

标签: ruby-on-rails ajax carrierwave

我有一个带有上传字段的表单,它显示在一个模态框中,当我提交它时,显示错误而不关闭此模式,但是当出现错误并且文件已经上传到文件中时字段请求以HTML而不是JavaScript处理。有谁知道我能做些什么来解决这个问题?感谢

1 个答案:

答案 0 :(得分: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