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)

create.js.erb よりも先に error_messages がレンダリングされるのはちょっと奇妙です。

4

1 に答える 1