Siento que este es un problema sencillo que estoy teniendo debido a mi falta de comprensión de la nueva interfaz de consulta ActiveRecord, pero toman este ejemplo:Rails 3, consulta Active Record vuelve objeto ActiveRecord :: Relation, en lugar de objetos
>> Category.first.recipes
=> [ ... ] # array of recipes
Sin embargo:
>> Category.where(:id => 1).recipes
=> NoMethodError: undefined method `recipes' for #<ActiveRecord::Relation:0x000001033dc9e0>
lo que está pasando aquí? ¿Por qué mi método where
devuelve un objeto ActiveRecord::Relation
? ¿cómo puedo recuperar los objetos de la consulta aquí?
voto hacia abajo porque no es equivalente. 'where' devuelve ActiveRecord :: Relation, mientras que el resto devuelve Array o Model.class –
Es equivalente en el contexto. Es por eso que mencioné la carga lenta. Pero sí, '.where.all' sería equivalente. – Swanand