我正在提交一个带有file_field的form_for。当使用帖子提交表单时,控制器将使用将执行的.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 %>");
答案 0 :(得分:4)
尝试使用remotipart gem https://github.com/JangoSteve/remotipart
答案 1 :(得分:0)
以下解决方案为我工作
$('.sales_application_form').submit(function() {
$(this).ajaxSubmit();
return false;
});