Rails闪烁,警告,警告和错误未显示; 只显示通知

在我看来,我有:

   

页面渲染时,只显示带有NOTICE FLASH的蓝色信息框。 其他两个将不会显示。 同样的事情发生在等号上:

    

我的rails应用程序中是否有设置警告或错误闪烁未出现?

我在使用以下代码时遇到了同样的问题:

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

使用’:notice’和’:alert’而不是’:warning’按预期工作。 您似乎可以在重定向方法中直接设置:notice和:alert,但不能:error和:warning。

测试闪光[:警告] .nil? 在下一个动作中给出了真实,但是flash [:notice] .nil? 是假的(即:未设置警告闪烁,但设置了:通知)。

为了解决这个问题,我在重定向之前设置了flash [:warning]值,如下所示:

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

它不是那么优雅,但它有效!

Rails对闪存的内容没有任何魔力,除了在应该的时候将其清空。

完全取决于你对闪存的内容采取适当的行动,即如果你想显示错误,通知和警告,那么你必须把

 <%= flash[:error] %> 

在您的视图模板或布局中的某个位置,用户将能够看到它(并重复:警告,:通知以及您希望以这种方式显示的任何其他闪存键)