Rails:带有错误的redirect_to,但flash [:error]为空


117

我正在尝试在设置flash [:error]值时进行重定向。(Rails 3.0.10)

我认为我有

<p id="error"><%= flash[:error] %></p>
<p id="notice"><%= flash[:notice] %></p>

如果执行此操作redirect_to show_path, :notice => "ok",效果很好,但是如果redirect_to show_path, :error => "error"显示不出来。

我可能会缺少什么?

Answers:


237

Rails API中所述,默认情况下,仅:notice和:alert用作Flash哈希值。如果需要设置:error值,可以这样:

redirect_to show_path, flash: { error: "Insufficient rights!" }

3
为了清楚起见:redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }})。如果要使用url选项创建show_path,则需要这种格式。
spyle 2013年

1
这也对我
有用

2
在Rails 5中工作
Richard Peck

1
您可以从ruby 1.9格式移至:redirect_to(show_path, flash: { error: "Insufficient rights!" })
mmsilviu


0

要真正遵循PRG模式,我想知道这个项目是否运作良好

https://github.com/tommeier/rails-prg

我不能忍受不以PRG用户身份使用的应用程序.....我在POST后已经翻了6页,然后单击“后退”按钮回到10页,之前被“您想重新发布此废话”阻止。 ...不,当然不是。我只想回到以前看过的页面。

非PRG应用程序对用户来说非常烦人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.