使用remote:true和remotipart + carrierwave gems上传文件

时间:2016-04-19 01:22:39

标签: ruby-on-rails carrierwave jquery-fileupload-rails remotipart

我想通过remotipart + carrierwave上传远程文件。问题是我的上传工作,但它似乎像往常一样上传html。或者通过ajax上传,但不调用适当的js文件。 我有一个form_for与remote:true,并创建一个corrseponding控制器方法。由于表单以js的形式提交,因此使用了create.js.erb。

<% if @syllabus.errors.present? %>
  $('#syllabus-errors').html('<%= escape_javascript(render 'layouts/error_messages', object: @syllabus)   %>');

<% else %>
  alert("ds");
  $('#modal-body').html(<%= escape_javascript(render 'layouts/thanks')   %>);
  $('#syllabus-errors').html("");
<% end %>

日志显示:

 (0.1ms)  begin transaction
   (0.1ms)  rollback transaction
  Rendered layouts/_error_messages.html.erb (1.0ms)
  Rendered syllabuses/create.js.erb (12.0ms)

有点奇怪的是,在create.js.erb之前渲染了error_messages,在create.js.erb中渲染了error_messages。

1 个答案:

答案 0 :(得分:1)

我通过添加以下内容解决了这个问题:

<% if remotipart_submitted? %>

<% else %>

<% end %>
不知道为什么没有它就行不通。