has_many на двух уровнях - PullRequest
       18

has_many на двух уровнях

0 голосов
/ 22 февраля 2010

Я использую Rails 2.3.5.

Компания имеет много пользователей. У пользователя много адресов электронной почты. Таблицы ассоциаций - это таблицы company_users и user_emails.

Я хочу получить все адреса электронной почты для компании. Какой самый эффективный способ получить это?

Ответы [ 2 ]

2 голосов
/ 22 февраля 2010

Попробуйте следующее:

has_many :emails, :through => :users

Не уверен, что ассоциация работает на многие-многие-многие, но это стоит того. Документацию можно найти здесь .

2 голосов
/ 22 февраля 2010

В определении компании добавить строку:

has_many :emails, :through => :users

Теперь все объекты компании имеют метод emails, который возвращает все электронные письма всех пользователей этой компании.

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