2

flash.nowインスタンス変数 (例: @error_message)を使用する場合と単に使用する場合の違いは何ですか?

flash関連して、複数のサーバーを実行していて、後続のリクエストが別のサーバーによって実行される可能性がある場合、 はどのように機能しますか?

4

1 に答える 1

1

flash.now を使用する場合と単にインスタンス変数 (@error_message など) を使用する場合の違いは何ですか?

リクエストが完了すると両方の値がなくなるため、事実上大きな違いはありません。flashとインスタンス変数の両方をチェックする代わりに、ビュー コードがエラー メッセージの 1 つの場所をチェックできるようにする方が便利だと思います。

関連するメモとして、複数のサーバーを実行している場合、フラッシュはどのように機能するので、後続のリクエストが別のサーバーによって実行される可能性がありますか?

flashセッション内に存在し、通常はデータベースに永続化されます。したがって、Rails アプリの複数のインスタンスが実行されていて、それらが同じデータベースを使用している場合、それらはflashオブジェクトへのアクセスを共有しています。flashしたがって、サーバー A がオブジェクトに書き込み、サーバー B が次の要求でそれを読み取っても、まったく問題ありません。

于 2013-05-08T13:54:25.367 に答える