私のアプリには多くの異なるフォームがあり、すべてがremote: true
を使用しています。しかし、ajax呼び出しを使用しないため正しく動作しません。form_tag with remote:trueはajaxリクエストを作成しません
<form accept-charset="UTF-8" action="/mycontroller/upload_file_ajax" data-remote="true" enctype="multipart/form-data" method="post">
<input name="utf8" type="hidden" value="✓">
<input name="authenticity_token" type="hidden" value="1234"></div>
<input id="file" name="file" type="file">
<input name="commit" type="submit" value="upload">
</form>
とルートエントリ:タグがどのように見える
<%= form_tag(upload_file_ajax_path, remote: true, multipart: true) do %>
<%= file_field_tag(:file) %>
<%= submit_tag("upload") %>
<%end%>
:
post "mycontroller/upload_file_ajax", as: "upload_file_ajax"
しかし、クローム開発ツールでコールをチェックするように見える、クリーンアップ
ヘッダーには、
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
ではなく、他の形態を好きなように見える:
Accept:*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript
私は
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
私のレイアウトにJSファイルを追加したと私はapplication.jsのうち、すべての私のJSコードを削除しても、ファイル(//= require jquery
...を除く)は、フォームが正しく機能していません。
私は何を欠席しましたか?
のMEA culpaプラグインによって提供さajaxSubmitメソッドを使用してAJAXリクエスト経由でファイルをアップロードするJquery Formプラグインを使用しようとすることができ、私はこれを忘れてしまいました。 Grrr ...ありがとう! – Bjoernsen
あなたは私に何時間もの欲求不満を救っただけです。私はあなたがファイルのアップロードにajaxを使用できないことを知っていませんでした。 Rails 4.2.5でテストされていますが、これはまだ動作しています。文字通りremotipartがドロップされ、フォームが機能し始めました。ありがとう! –