0
私はajaxレスポンスによって生成されるフラッシュメッセージを持っています。私のコントローラで 私が持っている:Rails、ajax経由で生成されたフラッシュメッセージを削除する
フラッシュメッセージを示している部分をレンダリングdestroy.js.erbファイル$('#flash_messages').html("<%= escape_javascript (render partial: 'layouts/flash_messages') %>");
を呼び出し
def destroy
flash[:danger] = "Successfuly destroyed"
format.js
end
。このようにこの部分的なルックス:
#flash_messages
-flash.each do |key, value|
= content_tag(:div, value, class: "flash alert alert-#{key}")
は、私が2秒後にフラッシュメッセージを削除するためにjqueryのを使用したいと思います。私が試したことだった。それは、ページの読み込み後に生成されるため、
$(".alert").fadeTo(2000, 500).slideUp(500, function(){
$(".alert").alert('close');
});
た、しかし、.alertクラスを見つけることができません。この問題の回避策は何ですか?ありがとうございました!
Jqueryコードを 'destroy.js.erb'ファイルに書くことができます。そして、それは動作します。 –
これは、そのトリックを行いました。答えとして追加して、Acceptedとマークすることができます。ありがとうございました。($# 'flash_messages'の後に追加する必要があるJqueryコードです。 ! –
あなたのコードを実行する他の方法もあります。Ajaxが完了したときにコードを実行するのと同じように、 'success'コールバックから実行します。その場合、JSをdestroy.js.erbの中に入れる必要はありません。それはうまくいく。 –