私の基本的な使用例は何らかの処理を行い、flash[:notice]
に設定して、新しいページにリダイレクトします。私が知ることから、リダイレクトはフラッシュタグをリセットします(私が間違っていると私を修正してください)。永続性を得る方法はありますか?セッションの使用はオプションではありません。私はクッキーを使用して問題をハッキングしましたが、もっと良い方法があるはずです。リダイレクトを使用してフラッシュハッシュを取得する
答えて
フラッシュハッシュは、まさに1つのリダイレクトまたはレンダリングに対して存続します。だから、デフォルトの設定でうまくいくはずです。
別のリクエスト/リダイレクトのためにフラッシュハッシュを保持する必要がある場合は、flash.keepを呼び出すことができます。
セッションが無効になっているなど、これが常に正しいとは限りません。私の用途では当てはまりません(flash [:notice]は標準レイアウトの一部として表示する必要がありますが、リダイレクトではなくレンダリングの前に設定されていなければ表示されません)。 –
ビューで明示的にflash [:notice]を参照するとどうなりますか? – EmFi
リダイレクト後?何もない。リダイレクトが含まれていない場合、同じ文字列が割り当てられていることがわかります。 –
flash.keep # keep the entire flash hash around for an extra request.
flash.keep(:notice) # keep just flash[:notice] for an extra request.
少なくともレールV3.2.1に注意すべき何かがフラッシュは、その少なくとも1つのリダイレクトを通じて全く参照しない場合、リダイレクトを通じて持続した後の同じビューをロードすることです。かかわらず、リダイレクトの存在している:[メッセージ]フラッシュにつながる、これを実行する
def some_action
(code that may set a flag to redirect 1 time)
redirect_to action_path if(redirect_flag)
....
end
:これは私の最近の経験の擬似コードです。フラッシュリダイレクトが発生しなかったとき、[]それだけ現れるだろうを参照ロガーで、デバッグ中に
def some_action
logger.debug("Flash[:message] #{flash[:message]}")
(code that may set a flag to redirect 1 time)
redirect_to action_path if(redirect_flag)
....
end
。私はリダイレクトの前にフラッシュへの参照を追加して明白な理由がないのにラインを失った場合、これが問題になることが分かりました。
ああ、ありがとう!要求レベルでフラッシュしたログをいくつか追加して、なぜフラッシュが複数のリダイレクトによって保存されなくなったのか混乱しました。このようなことをしたいのであれば、 'request.session ['flash']'(少なくともRails 4では)フラッシュを読むことができ、それは通常のアクセサを通過しません。通常、フラッシュは参照されているとマークする。 – Ibrahim
- 1. リダイレクトを使用してURLからHTMLコンテンツを取得する
- 2. 302リダイレクトURLをPHPを使用して取得
- 3. HttpURLConnectionを使用してリダイレクトされたURLとコンテンツを取得する方法
- 4. pythonリクエストを使ってリダイレクトURLを取得する方法
- 5. javaを使用してネットワークの使用率を取得する
- 6. OperatingSystemMXBeanを使用してCPU使用率を取得する
- 7. リダイレクトjQueryを使用して
- 8. アプリケーションアクセストークンを使用してFQLを使用して友達を取得する
- 9. jQueryを使用してクラス値を使用してId値を取得する
- 10. jQueryを使用してホバリングセレクターを取得
- 11. simplehtmldomを使用してテキストスニペットを取得
- 12. JSONを使用して値を取得
- 13. jqueryを使用してスパンテキストを取得
- 14. Pythonを使用してフォームデータを取得
- 15. C#:反射を使用してIntPtr *を取得して使用する
- 16. UISpec4Jを使用してすべてのウィンドウを取得する
- 17. .htaccessでリダイレクトしてパラメータを取得する
- 18. エンティティフレームワークを使用してデータを取得する汎用関数
- 19. イメージCを使用して取得
- 20. WPF:VB.NETを使用してピクセルを取得する(GDIを使用しない)
- 21. リダイレクトを使用してフォームデータを再投入して検証エラーを個別に取得
- 22. HttpPostedFileBaseを使用して異なるパスを取得する
- 23. JQueryを使用してビューポート幅を取得し、JS処理で使用する
- 24. Devilを使用して画像から取得したピクセルデータを使用する
- 25. Android:Textview.SetText(characterSequence)を使用して[OBJ]を取得しています
- 26. GETパラメータとして使用するfacebookセッションを取得する
- 27. javascriptを使用してフォーカスを取得した要素のIDを取得
- 28. ASP.NETイメージは302リダイレクトを取得しています
- 29. リフレクションを使用してASP.NETデバッグパスを取得する方法は?
- 30. Reflectionを使用して親クラスの名前を取得する
ルビーのドキュメントを参照してくださいフラッシュん[:お知らせ]は、リダイレクトレンダリングしていない時に現れますか?標準のレイアウトがロードされていますか? – EmFi