Ruby on rails :remote=>;true在表单中使用文件上载程序时不起作用
基本上,当我在表单中包含并使用一个文件上传程序时,它似乎取消了:remote=>true功能,并将操作处理为HTML而不是JS。有什么想法吗?AJAX图像上传不起作用,至少不是以标准方式 有一些更新的HTML5技术可以让它工作,还有一些使用Ruby on rails :remote=>;true在表单中使用文件上载程序时不起作用,ruby-on-rails,ajax,ruby-on-rails-3,jquery,Ruby On Rails,Ajax,Ruby On Rails 3,Jquery,基本上,当我在表单中包含并使用一个文件上传程序时,它似乎取消了:remote=>true功能,并将操作处理为HTML而不是JS。有什么想法吗?AJAX图像上传不起作用,至少不是以标准方式 有一些更新的HTML5技术可以让它工作,还有一些使用 有一个很棒的库,它使用progress meter进行多文件ajax上传,并根据浏览器的不同使用不同的技术 AJAX上载库: 这将需要一点额外的工作,但结果可以真的很好 我刚刚遇到了同样的问题,并找到了以下替代方案使其发挥作用: Gem remotipart
有一个很棒的库,它使用progress meter进行多文件ajax上传,并根据浏览器的不同使用不同的技术
AJAX上载库:
这将需要一点额外的工作,但结果可以真的很好 我刚刚遇到了同样的问题,并找到了以下替代方案使其发挥作用: Gem remotipart=> jQuery插件“jaxy”=>
我想我更喜欢第一种选择。但是有选择是很好的 您无法通过AJAX上传文件,因此您的请求显然是纯HTML的,因为您没有任何特定的内容:js和rails认为这只是一个纯HTML POST请求 然后
bundle安装
//= require jquery.remotipart
示例_layout.html.erb
<%= form_for @sample, :html => { :multipart => true }, :remote => true do |f| %>
<div class="field">
<%= f.label :file %>
<%= f.file_field :file %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
create.js.erb
// Display a Javascript alert
alert('success!');
<% if remotipart_submitted? %>
alert('submitted via remotipart')
<% else %>
alert('submitted via native jquery-ujs')
<% end %>
//显示Javascript警报
警惕(“成功!”);
警报(“通过remotipart提交”)
警报('通过本机jquery ujs提交')
Remotipart很棒,仍然可以在Rails 4上使用。这里是一个直接链接到github页面的文档。
def create
respond_to do |format|
if @sample.save
format.js
end
end
end
// Display a Javascript alert
alert('success!');
<% if remotipart_submitted? %>
alert('submitted via remotipart')
<% else %>
alert('submitted via native jquery-ujs')
<% end %>