rails中flash[:notice]的问题

我在action1中设置了flash[:notice]值,当点击一个链接跳到另外一个action2的时候,flash[:notice]还会显示,只有再次点击其它的链接,flash[:notice]才会消失。为什么跳出了action1,flash[:notice]还会存在呢?比较奇怪
其它的很多aciton中都会设置flash[:notice]的值,但是一旦跳出该action,flash[:notice]都会消失。
有谁碰到过类似的问题么?请教了

我已经找到问题的解决方法了,用flash.now[:notice],希望遇到同样问题的朋友可以借鉴一下。下面是原因:
flash[:notice] is meant only for redirect action, because the message is only cleared after at the end of redirected view request. So if you don’t redirect the request, and you click on the next request, that message will still be displayed.

But sometimes, we just want to display custom error messages only for current request without the redirection (esp. for non-ActiveRecord error messages). So the option is to use flash.now[:notice]. It clears the flash message at the end of current request (without redirection)

你可能感兴趣的:(Flash)