Rails中有哪些Flash消息类型?

时间:2012-01-30 12:17:06

标签: ruby-on-rails

到目前为止,我已经:

  • :通知
  • :警报
  • :错误

但是有明确的列表,可以在redirect_to path, :error => "Oh no!"中使用吗?

2 个答案:

答案 0 :(得分:81)

Hauleth是正确的,您可以使用任何符号,但是现在,:notice:alert是唯一可以直接传递到redirect_to的符号({1}}根据{{​​3}}),正如你特别提到的那样:

redirect_to path, :error => "Oh no!" # Will not work

如果您需要其他Flash类型,例如:error(或:success),则必须通过:flash键传递这些内容,如下所示:

redirect_to path, :flash => { :error => "Oh no!" }

有关如何注册自定义Flash类型的信息,例如:notice:alert,您可以将它们直接传递到redirect_to,请参阅此StackOverflow问题与解答:{ {3}}

更新:根据flash.rb in Rails source,通过调用ApplicationController中的add_flash_types :error,您可以通过允许注册自定义Flash类型来使Rails 4变得更容易。

答案 1 :(得分:31)

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