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.
I resolved this problem by adding this if:
<% if remotipart_submitted? %>
<% else %>
<% end %>