Sto usando Rails 3.2.0Perché i risultati dell'associazione modello Rails non sono in natura ActiveRecord :: Relations?
Diciamo che ho:
class Comment < ActiveRecord::Base
has_many :articles
end
c1 = Comment.last
poi
c1.articles.class
# => Array
c1.articles.where('id NOT IN (999999)').class
# => ActiveRecord::Relation
Perché è il risultato di un'associazione non un tipo di ActiveRecord::Relation
?
E 'chiaramente/era ad un certo punto:
c1.articles.to_orig
# undefined method `to_orig' for #<ActiveRecord::Relation:0x007fd820cc80a8>
c1.articles.class
# => Array
alcune valutazioni agiscono su un oggetto ActiveRecord :: Relation, ma ispezionando la classe dà un tipo diverso.
In particolare, questo si rompe creazione di query pigri-caricato quando si utilizza merge
di concat query multiple.
Quale versione di Rails? –
@AndrewMarshall 3.2.0 –
Se ricordo bene il metodo di classe ti sta mentendo - è delegare alla destinazione, che è un array –