2011-12-20 103 views
4

在我看来,我有:导轨闪烁,警告,警告和错误未显示;只注意到所示

<% flash.now[:error] = "ERROR FLASH" %> 
<% flash.now[:notice] = "NOTICE FLASH" %> 
<% flash.now[:warning] = "WARNING FLASH" %> 

当页面被渲染,只出现在通知FLASH蓝色信息框。其他两个将不会显示。同样的事情发生与等号:

<%= flash.now[:error] = "ERROR FLASH" %> 
<%= flash.now[:notice] = "NOTICE FLASH" %> 
<%= flash.now[:warning] = "WARNING FLASH" %> 

有没有在我的Rails应用程序,设置警告或错误闪烁不会出现设置?

回答

3

Rails对flash的内容并没有什么魔力,除了当它应该是空的时候。

这完全取决于你,如果你想显示错误,通知再警告你必须把

<%= flash[:error] %> 

某处在您的视图模板或布局采取闪光灯,即对内容进行适当的行动其中,用户将能够看到它(再次为:警告,:注意而且希望以此方式显示任何其他闪存键)

+0

感谢您的回复。但我也尝试过,它不适用于:警告和:错误,但仅限于:注意。 – RoundOutTooSoon 2011-12-20 19:25:05

+0

然后你需要展示更多你正在做的事情:什么是设置闪光灯(以及在哪里),在哪里显示等。 – 2011-12-20 19:28:31

+0

嗨弗雷德里克,谢谢你回到我身边。我正在使用flash.now,以便在不重定向的情况下显示Flash消息。所以我将消息设置为与我在粘贴代码中显示的视图相同的视图。它位于表单的顶部,对查看器可见。 – RoundOutTooSoon 2011-12-20 22:17:32

7

我在用下面的代码相同的问题:

redirect_to(docs_path, :warning => "I am here!!!") and return if @doc.nil? 

使用':notice'和':alert'而不是':warning'按预期工作。看起来你可以设置:notice和:直接在重定向方法中警告,但不能:error和:warning。

闪光测试[:警告] .nil?在下一个动作给出真实的,但闪光[:notice] .nil?是错误的(即:未设置警告闪光,但设置了:通知)。重定向前值,像这样:

要解决这个问题我设置了闪光灯[警示]:

if @doc.nil? 
    flash[:warning] = "I am here!!!" 
    redirect_to(docs_path) and return 
end 

这不是优雅,但它的工程!

-3

请在您的application.html.erb

<!--[if lt IE 9]> 
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script> 
<![endif]--> 

之前以下几点:

<%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %>