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)
create.js.erb よりも先に error_messages がレンダリングされるのはちょっと奇妙です。