我正在提交一个带有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 %>");
尝试使用remotipart gem https://github.com/JangoSteve/remotipart