Rails form_for with file_field and remote => true and format =>:js

我正在提交一个带有file_field的form_for。 当表单与post一起提交时,控制器以.js文件响应,该文件将被执行。

file_field是可选的。

当我上传文件时,js文件在新文档中打开(作为简单的文本文件),并且不执行js。 当我不上传任何文件时,响应div将更新。 我希望在响应div中通知更新成功或者独立于文件上载的失败消息。

可能出于某些安全原因这样做了吗? 想要能够做到这一点的人有一些解决方法吗?

大致,

表单部分_action.html.erb:

true, :url => {..., :format => :js} do |f| %> ...

控制器::行动

  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(""); 

尝试使用remotipart gem https://github.com/JangoSteve/remotipart

以下解决方案为我工作

 $('.sales_application_form').submit(function() { $(this).ajaxSubmit(); return false; });