Две модели (Rails 2.3.8):
Пользователь;имя пользователя и отключенные свойства;Пользователь has_one: профиль Профиль;полное_имя & скрытые свойства
Я пытаюсь создать named_scope, в котором исключены отключенные = 1 и скрытые = 1 профили пользователей.Более того, хотя модель User обычно используется вместе с моделью Profile, я бы хотел, чтобы это можно было указать с помощью синтаксиса профиля: include =>:.
У меня есть следующий пользователь named_scope:
named_scope :visible, {
:joins => "INNER JOIN profiles ON users.id=profiles.user_id",
:conditions => ["users.disabled = ? AND profiles.hidden = ?", false, false]
}
Это работает, как и ожидалось, если просто указать модель пользователя:
>> User.visible.map(&:username).flatten
=> ["user a", "user b", "user c", "user d"]
Однако, когда я пытаюсь включить модель профиля:
User.visible(:include=> :profiles).profile.map(&:full_name).flatten
яошибка, которая гласит:
NoMethodError: undefined method `profile' for #<User:0x1030bc828>
Могу ли я пересечь границы коллекции моделей таким образом?