2015-05-26 5 views
1

У меня есть две таблицы:2 или более один ко многим отношений между двумя таблицами в рельсах

пользователи и группы

HAS_MANY группы

пользователя и группу, belongs_to пользователь:

u = User.last 
u.groups 

Предположил, что мне нужен второй список разных групп по какой-то странной причине. Если еще раз у Пользователя есть группы (в этом примере - другая группа), а группа принадлежит Пользователю.

u = User.last 
u.other_groups 

Как связать две модели в этих отношениях, дважды используя активную запись?

ответ

0

Вы можете сделать

class User 
    has_many :groups, :class_name => "Group", :foreign_key => "group_id" 
    has_many :other_groups, :class_name => "Group", :foreign_key => "other_group_id" 
1

Ваша модель Пользователь может иметь два внешних ключей (атрибутов рельсам)

0

Вы можете сделать

User(user_id) 
Group(group_id) 
UserGroup (id, user_id, group_id) 

это позволяет иметь записи с user_ids связанных для различных групп.
Этот способ позволяет вам иметь несколько ассоциаций пользовательских групп.