私のコントローラにいくつかの変数を保存したいとします。私は1つのアクションでそれを初期化し、別のアクションでインクリメントし、別のアクションでインクリメントしたい。 @foo
でこの変数を宣言するだけでは、それを作成したアクションの後に@foo
が死んでしまうため、動作しません。
私はこの変数をモデルに保存したくありません。コントローラ内の複数のアクションにインスタンス変数を格納するにはどうすればよいですか?
この変数をセッションに保存する以外に保存する方法はありますか?
私はこの単純な問題に数回遭遇したようですが、それを解決する最善の方法を知りたいと思います。
キャッシュは良いアイデアですが、複数のWebサーバーがある場合は、Flashメソッドが機能しないと思います。 – Scott
セッションが実際にセッションに保存されているため、セッションの格納場所によって異なります。たとえば、セッションが無効になっている場合はflash.nowが動作します。 – paulthenerd
キャッシュは正しい考えです。しかし、MemoryStoreを使用している場合は、プロセスごとのメモリであるため、すべての要求を処理する単一のプロセスがない限り、後続の要求はメモリ内にあるプロセスにヒットしません。メモリストアがmemcachedによってバックアップされている場合は、はるかに良いでしょう。 –