0
Я получаю ошибку named_scope, пытаюсь ли я использовать ее неправильно?named_scope error on association_to
class Owner < ActiveRecord::Base
has_many :dogs
named_scope :is_fit?, :conditions => { :age => 16..40 }
end
class Dog < ActiveRecord::Base
belongs_to :owner
def is_owner_fit?
owner.is_fit?
end
end
undefined method `is_fit?' for #<ActiveRecord::Associations::BelongsToAssociation:0x251807c>
Спасибо Янису, еще пару вопросов, которые у меня есть. Во-первых, в вашем примере именованная область, похоже, не используется. Во-вторых, когда у меня изначально возникла эта проблема, я использовал метод, подобный тому, который у вас есть выше, но тогда мне нужно было поработать, если бы были владельцы подходящих предметов из коллекции владельцев, например, owner.is_fit.exists? поэтому я думал, что буду использовать named_scope. Я бы хотел, чтобы логика того, является ли владелец подходящим или не существует в одном месте, поэтому я не хочу делать named_scope и метод. – pingu
Я просто переключаюсь, чтобы использовать константу в качестве диапазона возраста. Это набор только в одном месте. Вы можете или не использовать подгонку named_scope для извлечения владельцев, которые подходят из БД. – Yannis