到目前为止我已经得到:
- :通知
- :警报
- :错误
但是是否有明确的列表可以在适当的地方使用,例如在redirect_to路径中,:error =>“哦不!”
?
最佳答案
Hauleth 是正确的,您可以使用任何符号,但现在,:notice
和:alert
是唯一可以直接传递到redirect_to
的(根据 flash.rb in Rails source ),正如您特别提到的:
redirect_to path, :error => "Oh no!" # Will not work
如果您想要不同的闪存类型,例如 :error
(或 :success
),您必须通过 :flash
传递它们键,像这样:
redirect_to path, :flash => { :error => "Oh no!" }
有关如何注册自定义闪存类型的信息,例如 :notice
和:alert
,您可以直接将它们传递给 redirect_to
,请参阅此 StackOverflow 问答:https://stackoverflow.com/a/3848759/995663
更新:根据 this commit ,似乎 Rails 4 允许您通过调用 add_flash_types :error
来注册自定义闪存类型,从而使这变得更容易。在应用程序 Controller 中。
关于ruby-on-rails - Rails 中有哪些可用的 Flash 消息类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063751/