1

我想通过 remotipart +carrierwave 进行远程文件上传。问题是我的上传工作正常,但它似乎像往常一样上传html。或者通过ajax上传,但是没有调用相应的js文件。我有一个带有 remote:true 的 form_for,以及一个相应的控制器方法 create。由于表单是作为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)

有点奇怪,error_messages 在 create.js.erb 之前呈现,error_messages 在 create.js.erb 中呈现。

4

1 回答 1

1

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

<% if remotipart_submitted? %>

<% else %>

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

于 2016-04-19T04:05:02.980 回答