Ich bin mit Rails 3.2.0Warum sind Rails Modell Assoziation Ergebnisse nicht natürlich ActiveRecord :: Relations?
Lasst uns sagen, ich habe:
class Comment < ActiveRecord::Base
has_many :articles
end
c1 = Comment.last
dann
c1.articles.class
# => Array
c1.articles.where('id NOT IN (999999)').class
# => ActiveRecord::Relation
Warum das Ergebnis eines Vereins ist nicht eine Art von ActiveRecord::Relation
?
Es eindeutig ist/war irgendwann:
c1.articles.to_orig
# undefined method `to_orig' for #<ActiveRecord::Relation:0x007fd820cc80a8>
c1.articles.class
# => Array
Bestimmte Auswertungen wirken auf eine Active :: Relation Objekt, sondern die Klasse Inspektion gibt einen anderen Typ.
Insbesondere diese bricht faul belastetes Abfragen bauen, wenn merge
mit mehreren Abfragen verketten. Da
Welche Version von Rails? –
@AndrewMarshall 3.2.0 –
Wenn ich mich richtig erinnere, lügt die Klassenmethode - sie delegiert zum Ziel, das ist ein Array –