Как получить доступ к информации с помощью Rails в Join Model - PullRequest
0 голосов
/ 07 марта 2011

У меня есть две модели:

USERS
has_many :celebrations
has_many :boards, :through => :celebrations

BOARDS
has_many :celebrations
has_many :users, :through => :celebrations


CELEBRATIONS
:belongs_to :user
:belongs_to :board

Я понимаю, что создаю третью таблицу соединений и модель под названием "Празднования", для которой не требуется идентификатор.Я получаю доступ к информации?

user.celebrations.role user.celeberations.token

user.boards board.users

Заранее спасибо.Я понимаю, это настоящий вопрос новичка.

1 Ответ

1 голос
/ 07 марта 2011

Да, вы можете, но если объединяющая таблица имеет дополнительные атрибуты, вам следует преобразовать ее в полную модель. Я имею в виду создание новой модели Rails с id, article_id, author_id и дополнительными полями, такими как role.

Это способ Rails для реализации таких вещей. Есть небольшие затраты на то, чтобы сделать соединительный стол немного больше. Однако с моделью полного объединения можно использовать стандартные функции Rails для создания и обновления этой модели.

Насколько я помню, has_many :through опция была добавлена ​​для поддержки лучших моделей соединения.

...