2013-03-12 3 views
2

ФОН: У меня есть модель команды, которая has_many игроков, что позволяет одному назватьMongoid: has_many связь с псевдонимом

@team.players 

и получить Mongoid :: ОТНОШЕНИЙ :: Цели :: Enumerable список Игроки возвращаются.

ЦЕЛЬ: Я хотел бы также получить список игроков в определенной позиции в команде. Например, если пользователь добавит кувшин в свою команду, я смог бы позвонить @team.pitchers, чтобы вернуть Перечислимый список кувшинов. Любые идеи о том, как настроить это?

ответ

1

Невозможно положить условия в has_many в mongoid.

два способа я могу думать делать это установить сферу в плеерах и вызова с помощью @ team.players.pitchers

Class Player 
    scope :pitchers, where(:position => "pitcher") 
end 

или определяют метод в команде

Class Team 

    def pitchers 
    self.players.where(:position => "pitcher") 
    end 
end 
Смежные вопросы