Как мне посчитать размер рубашки пользователя? - PullRequest
1 голос
/ 01 октября 2010

Событие

has_many :squads, :dependent => :destroy
has_many :users, :through => :squads, :source => :squad_users

Отряд

has_many :squad_users, :dependent => :destroy
has_many :users, :through => :squad_users

Пользователь

has_many :squad_users
has_many :squads, :through => :squad_users
has_many :events, :through => :squads

SquadUser

belongs_to :squad
belongs_to :user

Я создал несколько named_scopes вМодель пользователя выглядит следующим образом:

named_scope :xtralarge, :conditions => [ "shirt = ?", "XL"]
named_scope :large, :conditions => [ "shirt = ?", "L"]
named_scope :medium, :conditions => [ "shirt = ?", "M"]
named_scope :small, :conditions => [ "shirt = ?", "S"]
named_scope :xtrasmall, :conditions => [ "shirt = ?", "XS"]

Пробовал это:

<%= @event.users.large.size %>

и я получаю:

undefined method `large' for SquadUser(squad_id: integer, user_id: integer):Class

Что я понимаю ... нет "большойатрибут в модели SquadUser.

Что я не понимаю, так это как получить то, что я хочу ... простой способ подсчитать количество рубашек каждого размера, которые мне нужно заказать для каждого события: -/

1 Ответ

0 голосов
/ 01 октября 2010

Ваши ассоциации моделирования в корне неверны.Вы пытаетесь сделать has_many через сквозное has_many через.Rails не поддерживает это по умолчанию.Вы можете установить этот плагин, и тогда, возможно, ваши ассоциации будут работать.Серьезным предложением было бы упростить вашу модель данных.В любом случае опубликуйте результаты после внесения изменений в ассоциации или установки плагина.

сценарий / установка плагина git: //github.com/JackDanger/nested_has_many_through.git

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...