プロフィールにajaxでコメントを入れてみました。誰かがコメント ページを追加すると、ページがリロードされないため、フラッシュ メッセージに問題があります。
私の comments_controller は次のようになります。
@comment = @profile.comments.includes(:user).new(params[:comment])
if @comment.save
flash[:add_comment_success] = "Comment added"
respond_to do |format|
format.html {redirect_to :back}
format.js
end
else
フラッシュ メッセージでコメントを作成するための create.js.erb は次のようになります。
var flashError = "<%=flash[:add_comment_success]%>";
if (flashError){
$("#flash_messages").html("<div class='messages_notify'><div id='message-add_comment_success'><p class='message_content'>" +flashError + "</p></div></div>");
}
そして、私の app.js は次のようになります。
$(document).on("ready page:change", function() {
noty_load();
});
function noty_load(){
$( ".messages_notify #message-add_comment_success" ).each( function(){
generate('success', 'comment added');
});
}
ajaxの読み込みに問題があると思います。ajax がロードされているかどうか app.js をどうにかしてチェックインし、 noty_load() を実行する必要があります。firebugをチェックインすると、フラッシュ通知が表示されますが、ページをリロードしないと表示されません。ajaxリクエストが行われたときにnoty_loadを実行するにはどうすればよいですか?