Javascript删除变量值

Javascript删除变量值,javascript,ruby-on-rails,Javascript,Ruby On Rails,My create.js.erb: var flashSuccess = "<%=flash[:add_comment_success]%>"; if (flashSuccess){ $("#flash_messages").html("<div class='messages_notify'><div id='message-add_comment_success'><p class='message_content'></p>&

My create.js.erb:

var flashSuccess = "<%=flash[:add_comment_success]%>";
if (flashSuccess){
  $("#flash_messages").html("<div class='messages_notify'><div id='message-add_comment_success'><p class='message_content'></p></div></div>");
noty_ajax();
flashSuccess = undefined
}



var flashError = "<%=flash[:add_comment_error]%>";
if (flashError){
  $("#flash_messages").html("<div class='messages_notify'><div id='message-add_comment_error'><p class='message_content'></p></div></div>");
noty_ajax();
flashError = undefined
}
问题是什么。当我单击生成错误消息的按钮,然后单击生成成功消息的按钮-当它生成成功消息时,它也生成错误消息-因此有两条消息。我试图删除,因为你可以看到“闪光器”和“FlassAccess”执行后,但它没有改变任何事情。你能看到第二条消息是在哪里生成的吗?我能做些什么来删除它

答复

flashError和flashSuccess总是正确的,不知道为什么,在第二次请求时,其中两个不是空的。我通过从控制器生成两个不同的js文件来解决这个问题:

if @comment.save
 return respond_to do |format|

    flash[:add_comment_success] = "success"
    format.html {redirect_to :back}
    format.js {render 'comments/success'}   /// and error.js.erb for error message
  end
else
     return respond_to do |format|

    flash[:add_comment_error] = "error"
    format.html {redirect_to :back}
    format.js {render 'comments/error'}   /// and error.js.erb for error message
  end
end

现在,生成的js中没有两个变量,因此它可以工作。

您的
flashSuccess
flashError
不是布尔值,create.js中的if条件将始终为真。

因此,每次都会显示这两条消息。

打开控制台,看看这是怎么做的
布尔值('random string value')
事实上,每次都是真的……您的flashError或flashSuccess都是字符串,所以它们总是真的,除非字符串为空-
!!“
false
谢谢。我想我可以通过在controller-post-edited中呈现两个不同的文件来解决这个问题。
if @comment.save
 return respond_to do |format|

    flash[:add_comment_success] = "success"
    format.html {redirect_to :back}
    format.js {render 'comments/success'}   /// and error.js.erb for error message
  end
else
     return respond_to do |format|

    flash[:add_comment_error] = "error"
    format.html {redirect_to :back}
    format.js {render 'comments/error'}   /// and error.js.erb for error message
  end
end