私はレール内のActiveRecordクラスの2レベルの深い関係で働いています。私は3つのクラスfoo
,bar
およびbla
を持っています。 foo
が多くbar
年代を持ち、かつbar
は1 bla
を持っているすべての私の関係はつまり、Foo.find(1).bars.find(1).blas
のようなものが正常に動作し、個別に正常に動作しています。問題は、foo
が与えられているので、bla
のActiveRecordセットはfoo
のbars
に関連しています。これは明らかに解決策ですが、私はFoo.find(1).bars
多くを呼び出す必要がありますが、まれにしか必要としないように私は、パフォーマンス上の理由からbla
を正規化:私は1つのテーブルにbar
とbla
を組み合わせる
を試してみた
物事bla
。
Foo.find(1).bars.blas
:blas
方法は、単にここ
Foo.find(1).bars.map{|b| b.bla}
存在しません:これは私がこれまでに見つけた最高の回避策です。しかし、マッピングの結果は配列なので、後でセットにActiveRecordメソッドを適用することはできません(これが目標です)。
と呼び、Foo.find(1).blas –