我对铁杆很新......
我在显示Flash消息时遇到问题......
我在视图中显示它以及application.html.erb(布局文件)
在视图中我只是
flash[:notice]
并在application.html.erb中我有
flash.each do |name, msg|
content_tag :div, msg, :id => "flash_#{name}"
end
我想一次显示所有的flash消息,目前有上述结构,它显示在两个不同的位置......我发现一个非常类似于我想做的帖子......这可能会清楚地解释它: http://pupeno.com/blog/ensuring-the-displaying-of-flash-messages-in-ruby-on-rails/此处提供的解决方案无效......
任何帮助?
答案 0 :(得分:0)
您的部分和布局文件(application.html.erb)都是视图的一部分。所以,如果你想在两个地方输出flash消息,那么你会看到它两次,因为它们都被渲染了。
您添加的链接的作者也对布尔实例变量进行了一些检查,以确保消息仅显示一次。我没有看到你在你发布的代码中这样做,这可以解释为什么你没有看到相同的结果。您可以添加布尔检查(使用@messages_rendered完成的操作),或者您可以将Flash消息仅放在一个位置(布局文件或视图部分)。我不确定你想要它最终看起来像什么,所以你可能只需要玩不同的选项,看看你喜欢什么。