Ruby on rails 通过rails remotipart gem上传ajax文件
我一直在尝试通过remotipart和carrierwave上传图像。简单的文件上传工作正常,我还安装了remotipart gem,它支持通过ajax上传文件。现在的问题是如何通过ajax发送文件(我指的是jquery部分) 这就是我试图将文件发送到控制器的方式,但它不起作用Ruby on rails 通过rails remotipart gem上传ajax文件,ruby-on-rails,ruby-on-rails-3,carrierwave,remotipart,Ruby On Rails,Ruby On Rails 3,Carrierwave,Remotipart,我一直在尝试通过remotipart和carrierwave上传图像。简单的文件上传工作正常,我还安装了remotipart gem,它支持通过ajax上传文件。现在的问题是如何通过ajax发送文件(我指的是jquery部分) 这就是我试图将文件发送到控制器的方式,但它不起作用 $("#upload").live("submit",function(e) { e.preventDefault(); var report ={}; report.file =$("#new
$("#upload").live("submit",function(e) {
e.preventDefault();
var report ={};
report.file =$("#new_upload").find('#upload_name').val();
$.ajax(this.action, {
data: report,
iframe: true,
processData: false
}).complete(function(data) {
console.log(data);
});
});
这是我的表格代码:
<%= form_for(@upload,:url => { :action => "save_remotipart" },:html => {:multipart => true },:remote => (params[:action] == true )) do |f| %>
<fieldset>
<legend class='required'>
Required fields
</legend>
<div class="field">
<%= f.label :name %><br />
<%= f.file_field :name %>
</div>
</fieldset>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
请帮助我。您不必执行$(“#upload”).live(){},在表单中添加:remote=>true将执行Ajax提交,并正确完成文件上载
我正在我的一个项目中使用它(参见下面的表单代码)
true,:multipart=>true do | f |%>
false,:input_html=>{:rows=>'2',:id=>“ibtb”}%>
假%>
我使用的是simple_form gem,但它也应该适用于普通表单,因为这两种表单最终都会生成HTML。gem页面中的示例也没有使用简单的表单
希望这有帮助。我也有同样的问题。请点击此链接,可能会有所帮助 如果我有多个同名但数据不同的文件以及其他输入数据,该怎么办?你想提供以相同形式上载多个文件的功能吗?是的。。使用相同的名称,这些输入将动态生成。hi@RaghavanKandala,当您通过ajaxmy simple_表单上载文件时,导航器(firefox)底部出现了一条永不停止显示的消息,该消息是“从[localhost]传输数据”,但remotipart无法使用,不确定原因,但是,如果我制作自己的按钮和侦听器(即不是:提交按钮),并用javascript手动提交表单,它将使用remotipart:
:javascript$(document.ready(function(){$(“#ajax创建公共图像表单btn”)。单击(function(e){$form=$('#ajax创建公共图像表单');$form submit();})代码>
{"object Object"=>nil}
<%= simple_form_for @post, :remote => true, :multipart => true do |f| %>
<%= f.input :content, :label => false, :input_html => { :rows => '2', :id => "ibtb" } %>
<%= f.input :file, :label => false %>
<%= f.button :submit, "Post" %>
<% end %>