javascript - Rails 3 远程表单不传递参数

标签 javascript ruby-on-rails forms ruby-on-rails-3

我在 Rails 3.0.3 中有一个使用新的 :remote=>true 特性的表单:

<%= form_for :photo, :remote=>true, :html=>{:id=>"photo_form", :multipart => true},     :url=>{:action=>"photo"} do |p| %>
<div id="photo_container">
    <div class="photo">
    <% if @card.photo.exists? %>
    <%= image_tag @card.photo.url(:full), :id=>"card_photo" %>  
    <% end %>
    </div>
    <label class="cabinet"> 
        <%= p.file_field :photo, :class=>"file" %>
    </label>
</div>
<% end %>

提交后,照片字段不会传递给 Controller ​​操作。但是,如果我删除 :remote=>true 位,则参数传递得很好。

这个问题,Rails Remote Form does not post form parameters ,似乎发现了同样的问题,但答案在这里不匹配:我的 HTML 显然有效且格式正确。

这里有人有什么建议吗?我很难过。

最佳答案

据我所知,您无法远程发送多部分数据。这是因为浏览器安全模型不允许访问 <file>内容,需要通过 XMLHttpRequest 进行流式传输由远程机制使用。

远程表单通常等同于没有多部分支持的相同表单。

如果您需要进行异步文件上传,则需要使用 <iframe>并将表单提交到该目标以防止刷新主页。如果需要,有些库允许框架页面在完成时更新主框架。

关于javascript - Rails 3 远程表单不传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4628644/

相关文章:

ruby-on-rails - rails : Default sort order for a rails model?

php - 使用 swiftmailer 向多个收件人发送电子邮件

javascript - 使用 "please wait"加载 div/模态窗口

javascript - 我的自定义范围脚本的 RegExp 问题

javascript - 无法让电源按钮与显示屏一起使用以将时间显示为innerHTML?

ruby-on-rails - 如何创建自定义路由助手以供在 routes.rb 中使用

javascript - 使用 ES6 类将实例方法传递给 super

ruby-on-rails - 如何实现引用用户的多态关系?

javascript - 将表单值映射到链接

.net - 在没有 CLR/.NET 的情况下使用 Visual Studio 创建表单应用程序