У меня есть модель person
и модель group
. Есть два вида людей: лидеры возглавляют группу, а участники участвуют. Мне нужны hbtm-отношения между лидерами и группами и has_many-отношения между участниками и группами. Можно ли сделать это с той же моделью, person
, предоставляя какое-то условие (является лидером/участником) в модели?has_and_belongs_to_many и has_many_through между одними и теми же моделями?
class Person < ActiveRecord::Base
has_and_belongs_to_many :groups
has_many :participations
has_many :groups, :through => :participations
...
end
Я хотел бы сделать это с помощью одной модели, person
, потому что пользователи либо руководители или участники, но каждый пользователь должен быть человек, т.е. User belongs_to :person
.
Я могу понять, когда лидер имеет много групп. Но уверены, что в группе много лидеров? – peresleguine
Да, у моих групп может быть много лидеров. Подумайте о группе лидеров, которая организует группу. – ewi