Я пытался расширить has_one
ассоциацию с методом:ActiveRecord `has_one` ассоциации метод расширения
has_one :subscription_plan, -> { where current: true } do
def in newspaper
where newspaper: newspaper
end
end
и получил ошибку undefined method 'in' for #<SubscriptionPlan...>
Но он работает с has_many
:
has_many :subscription_plans, -> { where current: true } do
def in newspaper
where(newspaper: newspaper).take
end
end
Как это сделать с has_one
на Rails 4.2.1?
thanx много! ActiveRecord docs http://guides.rubyonrails.org/association_basics.html#association-extensions немного запутывают: 'Расширения могут ссылаться на внутренности прокси-сервера ассоциации, используя эти три атрибута accessor_association: proxy_association. target возвращает связанный объект для belongs_to или has_one или коллекцию связанных объектов для has_many или has_and_belongs_to_many.'. Ошибочно ли в документах упоминание 'has_one'? – yurko
Я не думаю, что это ошибка, но прямо сейчас я не могу прокомментировать ее =) – Aleksey