0
私はRubyonRailsのActive Storageを使用しています。フォームが送信されると、特定のJavaScriptイベントが実行されたようです(少なくともこれは私の理解である)。これらのイベントに耳を傾けてください。Rails - Active Storage JavaScriptイベントを使用する方法
私のフォームは、私は私の試みのどれもがとき
addEventListener("direct-upload:initialize", doSomething, false);
function doSomething(e) {
alert("Event is called: " + e.type);
}
document.getElementById("image_form").addEventListener("direct-upload:initialize", function() {
console.log('direct-uploads:initialize')
});
document.getElementById("image_form").addEventListener("direct-uploads:end", function() {
console.log('direct-uploads:start')
});
を仕事ない何が起こるが、残念ながらテストするには、以下のコードを追加application.js
ファイルの中
<%= form_with(model: to_do, local: true, id: 'image_form') do |form| %>
<div class="field">
<%= form.label :title %>
<%= form.text_field :title, id: :to_do_title %>
</div>
<div class="field">
<%= form.label :image %>
<%= form.file_field :image, direct_upload: true %><br>
</div>
<div class="actions">
<%= form.submit id: 'submit_button' %>
</div>
<% end %>
だけ入力フィールドと画像フィールド非常に単純ですデータはデータベースに保存されますが、アラートが表示されないので、イベントリスナーはイベントを聞きませんが、フォームを送信します。
だから私の質問は、フォームが送信されるときに、これらのActive Storage javascriptのイベントをリッスンする方法
のですか?
本当にありがとうございます。
外観を持つが、残念ながら、これはあなたがあなたの代わりにapplication.jsの、表示するには、JavaScriptを追加 – Baig
のいずれかに動作しませんしてくれてありがとう! DOMはおそらくロードされていないので、あなたのJSはおそらくapplication.jsに追加されていません(ドキュメントの 'head'に含まれていると仮定して)。 –
はいこれをビューの内側に追加し、application.jsファイルから削除しました – Baig