小编典典

带有file_field和remote => true和format =>:js的Rails form_for

ajax

我正在提交一个带有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 %>");

阅读 310

收藏
2020-07-26

共1个答案

小编典典

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

2020-07-26