Das Problem2 Ebene tiefere Beziehung in Active
I mit einer 2-Ebene tiefen Beziehung von Active Klassen in Schienen arbeiten. Ich habe drei Klassen foo
, bar
und bla
. foo
hat viele bar
‚s, und bar
hat ein bla
Alle meine Beziehungen arbeiten individuell in Ordnung, das heißt, so etwas wie Foo.find(1).bars.find(1).blas
funktioniert gut. Das Problem ist, dass ich bei einer foo
den ActiveRecord Satz von allen bla
bezogen auf foo
's bars
bekommen würde.
Dinge, die ich versucht habe
bar
und bla
in einer Tabelle die Kombination: Das ist natürlich eine Lösung, aber ich normalisiert aus bla
aus Performance-Gründen, wie ich Foo.find(1).bars
viel zu nennen brauchen, aber nur selten brauchen bla
.
Foo.find(1).bars.blas
: Die blas
Methode einfach nicht hier existiert
Foo.find(1).bars.map{|b| b.bla}
: Dies ist die beste Abhilfe, die ich bisher gefunden habe. Das Ergebnis des Mappings ist jedoch ein Array, so dass ich später keine ActiveRecord-Methoden auf das Set anwenden kann (was das Ziel ist).
und rufen Foo.find (1) .blas –