2011-12-20 12 views
4

を示す気づく、私が持っている:ページがレンダリングなると警告、警告、およびエラーが表示されていない状態でRailsが点滅します。唯一の私の見解で

<% flash.now[:error] = "ERROR FLASH" %> 
<% flash.now[:notice] = "NOTICE FLASH" %> 
<% flash.now[:warning] = "WARNING FLASH" %> 

、NOTICE FLASHを持つ唯一の青い情報ボックスが表示されます。他の2つは表示されません。

<%= flash.now[:error] = "ERROR FLASH" %> 
<%= flash.now[:notice] = "NOTICE FLASH" %> 
<%= flash.now[:warning] = "WARNING FLASH" %> 

警告またはエラーフラッシュが表示されないようにする設定がレールアプリにありますか?

答えて

3

Railsは、フラッシュの内容を忘れてしまいます。

それはあなたがエラー、通知と警告を表示したいすなわちならば、あなたはどこか自分のビューテンプレートやレイアウトで

<%= flash[:error] %> 

を配置する必要があり、フラッシュの内容に適切な行動を取るように完全にあなた次第ですユーザーがそれを見ることができるようになる場所(とために繰り返します、警告:気づくと、あなたがこのように表示する任意の他のフラッシュキー)

+0

感謝。しかし、私もこれを試してみましたが、それはうまくいっていません。 – RoundOutTooSoon

+0

次に、何をやっているのか、何をしているのか、どこに表示されているのかなど、あなたが何をしているのかをもっと表示する必要があります。 –

+0

こんにちはフレデリック、私に戻ってくれてありがとう。私はリダイレクトせずにフラッシュメッセージを表示できるようにflash.nowを使用しています。だから私は私の貼り付けられたコードで示したように、同じビューでフラッシュにメッセージを設定します。フォームの上部にあり、視聴者には見えます。 – RoundOutTooSoon

7

私は次のコードで同じ問題が持っていた:

redirect_to(docs_path, :warning => "I am here!!!") and return if @doc.nil? 

':notice'と ':warning'の代わりに ':alert'を使用すると、正常に動作します。通知と:alertを直接redirectメソッドで設定できますが、errorと:warningは設定できないようです。

フラッシュテスト[:警告] .nil?次のアクションではtrueを返しますが、flash [:notice] .nil? (すなわち:警告フラッシュは設定されていませんが、:通知が設定されています)。

if @doc.nil? 
    flash[:warning] = "I am here!!!" 
    redirect_to(docs_path) and return 
end 

それはエレガントではないのですが、それは動作しますので、同じようにリダイレクトする前値:[警告]を、私はフラッシュ設定

は、この問題を回避するには!

-3

あなたapplication.html.erb

<!--[if lt IE 9]> 
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script> 
<![endif]--> 

前に以下を含めてください:ご返信用

<%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %> 
関連する問題