ruby-on-rails - Rails form_for with file_field and remote => true and format => :js

标签 ruby-on-rails ajax ruby-on-rails-3.1 form-for ujs

我正在提交一个带有 file_field 的 form_for。当提交带有帖子的表单时, Controller 将响应一个将被执行的 .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 %>

Controller :: Action

 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

关于ruby-on-rails - Rails form_for with file_field and remote => true and format => :js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11008764/

相关文章:

ruby-on-rails - Capistrano 3 SSHKit::Runner::ExecuteError: 在主机 [hostname] 上执行时出现异常,代理无法使用请求的身份签署数据

ruby-on-rails - 访问 has_many 关系时指定订单和限制的快捷方式?

ruby-on-rails - 将 YAML 文件作为常量加载到 Rails Controller 中是否有效?

mysql - 如何在rails中进行mysql表分区?

ruby-on-rails - 在 Ruby on Rails 中调用外部 API 时如何处理错误/异常?

ruby-on-rails - 在多个端口上运行 Rails 应用程序

ajax - struts2中使用ajax上传文件

javascript - 将 AJAX 调用添加到函数触发的弹出窗口阻止程序

php - JQuery中发现PHP返回AJAX错误

ruby-on-rails - 当表单上的字段不可用时,是否仍可以编辑模型值?