1

I want to make remote file upload via remotipart + carrierwave. The problem is that my upload works, but it seems that it is uploaded as usual html. Or it is uploaded via ajax, but appropriate js file is not called. I have a form_for with remote:true, and a corrseponding controller method create. Since the form is submitted as js, create.js.erb is used.

<% 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 %>

Logs show this:

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

It is kinda strange that error_messages are rendered earlier that create.js.erb, error_messages are being rendered inside create.js.erb.

trh
  • 7,186
  • 2
  • 29
  • 41
yerassyl
  • 2,958
  • 6
  • 42
  • 68

1 Answers1

1

I resolved this problem by adding this if:

<% if remotipart_submitted? %>

<% else %>

<% end %>
don't know why it didn't work without it.
yerassyl
  • 2,958
  • 6
  • 42
  • 68