0
我對ajax的配置文件發表了評論。當有人添加評論頁面不重新加載,所以我有問題與Flash消息。Rails ajax和jquery noty插件的flash消息
我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
我對使用Flash的消息評論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負載有問題。我必須以某種方式檢查app.js是否加載了ajax,然後運行noty_load()。當我檢查螢火蟲,我看到閃光燈通知,但noty只是沒有看到它沒有頁面重新加載。如何在ajax請求發出時運行noty_load?
確定它的工作原理,但我怎麼能刪除通知?在頁面上,當我添加評論時,只有一個通知,但是當我重新加載它或去其他地方時,它會生成下一個3 noty – Wordica
$(document).unbind('ajaxComplete');當我這樣做時,它只顯示一個更多的noty(不是3但是一個額外的noty)如何刪除多餘的noty – Wordica
@Michael檢查我編輯的答案。我在顯示函數的末尾添加了'.remove()',以便在顯示消息後立即刪除消息。你不需要解除綁定。 – akhanubis