我正在提交form_for和file_field。当表单提交后,控制器回应一个.js文件,该文件将被执行。Rails form_for with file_field and remote => true and format =>:js
file_field是可选的。
当我上传一个文件时,js文件在一个新文档中打开(作为一个简单的文本文件)并且不执行js。当我没有上传任何文件时,响应div被更新。我希望更新成功通过响应div或独立于文件上传的失败消息进行通知。
这可能是出于某种安全原因?对于希望能够做到这一点的人有没有一些解决方法?
粗略地说,
形式部分_action.html.erb:
<div id="response"></div>
<%= form_for ... :remote => true, :url => {..., :format => :js} do |f| %>
...
<%= f.file_field :name %>
<% end %>
控制器::行动
if not request.post?
render :partial => 'controller/action'
return
else
@response = "save was successful";
# renders the action.js.erb
end
action.js.erb:
$("#response").html("<%= @response %>");
以下解决方案的工作那是因为你无法通过AJAX提交文件。 – Wukerplank