Rails中有哪些Flash消息类型?

cjm*_*671 50 ruby-on-rails

到目前为止我有:

  • :注意
  • :警报
  • :错误

但是有没有明确的清单,可以在适当的位置使用,比如在redirect_to path, :error => "Oh no!"

Ste*_*ssi 83

Hauleth是正确的,你可以使用任何的象征,但现在,:notice并且:alert是唯一的,你可以通过直接进入redirect_to(根据在Rails的源flash.rb),为您特别提到:

redirect_to path, :error => "Oh no!" # Will not work
Run Code Online (Sandbox Code Playgroud)

如果你想要一个不同的闪存类型,如:error(或:success),你必须通过:flash密钥传递,如下所示:

redirect_to path, :flash => { :error => "Oh no!" }
Run Code Online (Sandbox Code Playgroud)

有关如何注册自定义闪存类型的信息,:notice以及和:alert,您可以直接将它们传递给redirect_to,请参阅此StackOverflow问答:https://stackoverflow.com/a/3848759/995663

更新:根据此提交,似乎Rails 4将允许您通过调用add_flash_types :errorApplicationController 注册自定义Flash类型,从而使这更容易.


Hau*_*eth 31

不,作为闪光类型,您可以使用任何符号,甚至是您自己的符号.

  • 正如Steve Grossi在下面指出的那样,你不能将任何符号传递给`redirect_to`,就像cjm2671使用的例子一样. (4认同)