Я использую Ruby on Rails 3.0.7, и я хотел бы инициализировать новый ActiveRecord::Relation
, чтобы у меня была возможность самому заполнить его объектами класса (все объекты одного и того же "типа"), используя <<
метод; в противном случае (для моих нужд) мне нужно создать новый класс Ruby array
, но с помощью этого массива я не могу запустить методы (например, where
, order
и т. д.), как для ActiveRecord::Relation
.
Видя код RoR Я нашел это в:
def initialize(klass, table)
@klass, @table = klass, table
@implicit_readonly = nil
@loaded = false
SINGLE_VALUE_METHODS.each {|v| instance_variable_set(:"@#{v}_value", nil)}
(ASSOCIATION_METHODS + MULTI_VALUE_METHODS).each {|v| instance_variable_set(:"@#{v}_values", [])}
@extensions = []
end
но я не нашел хорошую документацию по этому поводу.
Как я могу инициализировать ActiveRecord::Relation
? Является ли обычной практикой работа непосредственно с «пользовательскими» ActiveRecord::Relation
объектами? О чем вы советуетесь?
P.S .: Может быть, я должен использовать AssociationCollection, потому что в конце всех операций, с которыми я добавляю (используя <<
) объекты класса, мне нужно использовать связанный с ним метод replace
.