GitHubでいくつかのフラッシュメッセージが表示されたプロジェクトをフォークしました。例えば、私はフォークプロジェクトにおけるTwitterの記号で私もそれが赤になり、CSSでクラスを見つけたレールでのフラッシュメッセージの設定に問題があります
flash[:error] = "Sign in with Twitter failed"
で失敗した看板のため、この赤いエラーメッセージを表示しています。このエラーメッセージを他の場所で使用したいのですが、問題があります。私はそれは単にTwitterのメッセージを投稿し、エラーメッセージを与えていないいないこの
redirect_to show_path, flash[:error] => "Twitter's saying you're trying to post the same message twice"
を実行しようとしました。例えば
、。私にこのメッセージを与えて(私は二回投稿しようとすると)私はそれが全体のアプリケーションを壊す =>
=
に変更する場合:予告:
can't convert Symbol into String
でも見知らぬ人(私には)、私はとの問題はありません。これは大丈夫だった。
redirect_to show_path, :notice => "Your Tweet was posted!"
これはなぜ起こっているのですか? This is the project on GitHub。
は実際に、私はすでにあなたの最初のソリューションを試みたが、全くのエラーメッセージが表示されなかったことを指摘しました。しかし、2番目のソリューションが機能しました。なぜ最初のものが動作していないのか説明できますか? – Leahcim
あなたの例では、redirect_to呼び出しで 'flash [:error] =>" stuff "'を使用しています。あなたは ':error =>' stuff ''をフラッシュ(flash)なしで使う必要があります。 – jsinger
これらの違いは、 'flash [:error] =>' stuff "'を使うと、ハッシュ引数に入るキーは 'flash [:error]'の値に関係なく、あらかじめ明示的に設定している場合を除きます。 ':error => 'stuff''を渡す代わりに、 'flash'に浮かぶ不思議な値ではなく、あなたのキーに':error'シンボル自体を使用しています。 – jsinger