Rails flash[:notice] ="msg" が機能するのに、:notice => "msg" が機能しないのはなぜですか? 次のコードを使用すると、通知が表示されます。
# Case 1 (this works)
flash[:notice] = 'Candidate was successfully registered.'
format.html { redirect_to :action => "show_matches", :id => @trial.id }
これは動作しません:
# Case 2 (this doesn't)
format.html { redirect_to :action => "show_matches", :id => @trial.id, :notice => "Candidate was successfully registered."}
しかし、私のアプリケーションの他の領域では、上記の手法は問題なく機能します。
# Case 3 (this works)
format.html { redirect_to @candidate, :notice => 'Candidate was successfully created.' }
私のレイアウトは次のとおりです。
<section id="middle_content">
<% flash.each do |key, value| -%>
<div id="info_messages" class="flash <%= key %>"><%= value %></div>
<br/>
<% end -%>
<%= yield -%>
</section>
だから私の質問は、なぜ一方のケースでは使用が:notice => ""
機能するのに、もう一方のケースでは機能しないのですか?
あまり文脈を説明していないことは承知していますが、私の感覚では、私の問題は実際には非常に単純です。
ps これはこの質問に似ているようです。