在我看来,我有:
<% flash.now[:error] = "ERROR FLASH" %>
<% flash.now[:notice] = "NOTICE FLASH" %>
<% flash.now[:warning] = "WARNING FLASH" %>
当页面渲染时,仅出现带有通知闪存的蓝色信息框。另外两个将不会显示。等号也会发生同样的情况:
<%= flash.now[:error] = "ERROR FLASH" %>
<%= flash.now[:notice] = "NOTICE FLASH" %>
<%= flash.now[:warning] = "WARNING FLASH" %>
我的 Rails 应用程序中是否有一个设置可以设置警告或错误闪烁不出现?
我对以下代码遇到了同样的问题:
redirect_to(docs_path, :warning => "I am here!!!") and return if @doc.nil?
使用 ':notice' 和 ':alert' 而不是 ':warning' 可以按预期工作。看来你可以在重定向方法中直接设置:notice和:alert,但不能设置:error和:warning。
测试 flash[:warning].nil?在下一个操作中给出 true,但是 flash[:notice].nil?为 false(即未设置 :warning flash,但设置了 :notice)。
为了解决这个问题,我在重定向之前设置了 flash[:warning] 值,如下所示:
if @doc.nil?
flash[:warning] = "I am here!!!"
redirect_to(docs_path) and return
end
它不是那么优雅,但它有效!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)