2014-04-22 14 views
1

我正在使用设备进行登录,并且如果用户使用以下代码输入错误的信息来显示Flash消息,我已覆盖我的设计会话控制器并显示Flash消息。删除刷新页面上的Flash消息

<% flash.each do |name, msg| %> 
    <%= content_tag :section, msg, :id => "flash_#{name}", :class => " flash" %> 
<% end %> 

而且它做工精细,并显示“无效的电子邮件或密码。”消息,如果用户输入错误的电子邮件和密码。

现在它仍然显示相同的Flash消息,如果我刷新页面。 但我想闪光消息被删除,如果页面得到刷新。请帮助我一样。

+0

不知道用'devise',但在普通的Rails应用中,如果这行'flash [:notice] =“无效的电子邮件或密码”'改为'flash.now [:notice] =“无效的电子邮件或密码“,那么它的作品。 – Pavan

+0

感谢Pavan ..但我正在寻找设计方式。 –

回答

-1

显示后可以使用flash.discard。可能是这样的:

<% flash.each do |name, msg| %> 
    <%= content_tag :section, msg, :id => "flash_#{name}", :class => " flash" %> 
    <% flash.discard(name) %> 
<% end %> 

我还没有测试过这个,所以试试它是否有效。

+0

它没有工作.. –

+1

设计将闪光信息设置为闪光[:键]而不是flash.now [:键]。后者仅针对当前请求显示闪光消息。 http://stackoverflow.com/questions/19303878/devise-and-handling-the-flash你的问题的一些似是而非的解决方案 – SreekanthGS