1. ホーム
  2. ruby-on-rails-3

[解決済み] Rails: redirect_toで:errorがあってもflash[:error]が空なのはなぜ?

2022-08-19 08:58:57

質問

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" を実行すると表示されません。

何が足りないのでしょうか?

どのように解決するのですか?

にあるように Rails API にあるように、デフォルトでは :notice と :alert のみがフラッシュハッシュ値として適用されます。もし、:errorの値を設定する必要がある場合は、このようにします。

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