Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 显示即时消息_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 显示即时消息

Ruby on rails 显示即时消息,ruby-on-rails,ruby,Ruby On Rails,Ruby,我对rails还很陌生 我在显示flash消息时遇到问题 我在视图和application.html.erb(布局文件)中显示它 在我看来,我刚刚 flash[:notice] 在application.html.erb中 flash.each do |name, msg| content_tag :div, msg, :id => "flash_#{name}" end 我想一次显示所有的flash消息,目前采用上述结构,它显示在两个不同的位置。。。我发现一个帖子和我想做的非常相似。。。这

我对rails还很陌生

我在显示flash消息时遇到问题

我在视图和application.html.erb(布局文件)中显示它

在我看来,我刚刚

flash[:notice]
在application.html.erb中

flash.each do |name, msg| 
content_tag :div, msg, :id => "flash_#{name}"
end
我想一次显示所有的flash消息,目前采用上述结构,它显示在两个不同的位置。。。我发现一个帖子和我想做的非常相似。。。这也许可以清楚地解释:这里提供的解决方案不起作用


有什么帮助吗?

您的部分和布局文件(application.html.erb)都是视图的一部分。所以,如果你想在两个地方都输出flash消息,那么你会看到两次,因为它们都被渲染了

您添加的链接的作者还对布尔实例变量进行了一些检查,以确保消息只显示一次。我在你发布的代码中没有看到你这样做,这可能解释了为什么你没有看到相同的结果。您可以添加布尔检查(使用@messages_rendered执行的操作),也可以只将flash消息放在一个位置(布局文件或局部视图)。我不确定你们到底希望它看起来像什么,所以你们可能只需要玩不同的选择,看看你们喜欢什么