回答編集履歴
1
補足
answer
CHANGED
@@ -4,4 +4,6 @@
|
|
4
4
|
|
5
5
|
> 共通のコールバックオブジェクト側で、モデルのIDなどをキーにしたハッシュを使って、データを整理して入れておく
|
6
6
|
|
7
|
-
この方法はコールバックオブジェクトはリクエストごとに初期化されると思うので,(アクションをまたがなければ)個人的には一番きれいな設計のように思います。コールバックオブジェクトのクラス変数にhashを持たせるだけで上手くいくのではないでしょうか。インスタンスと動的なデータを対応させなければいけないとなると,インスタンスに直接紐付けるか,weak_ref_dictionaryパターンかモデルを作ってDBに入れるかcacheするくらいの方法しかないと思うので,一番簡単そうで手軽なhashで作るのがいいのではないでしょうか。
|
7
|
+
この方法はコールバックオブジェクトはリクエストごとに初期化されると思うので,(アクションをまたがなければ)個人的には一番きれいな設計のように思います。コールバックオブジェクトのクラス変数にhashを持たせるだけで上手くいくのではないでしょうか。インスタンスと動的なデータを対応させなければいけないとなると,インスタンスに直接紐付けるか,weak_ref_dictionaryパターンかモデルを作ってDBに入れるかcacheするくらいの方法しかないと思うので,一番簡単そうで手軽なhashで作るのがいいのではないでしょうか。
|
8
|
+
|
9
|
+
紐付けなければいけないデータが静的なデータであれば,sendなどを使って,インスタンスのデータ毎にコールバック関数内で実行させるメソッドを条件分岐させるだけで済むんですけどね・・・。
|