У меня вопрос об определенной модели данных в Ruby. У меня есть набор бизнес-требований:
Пользователь может создавать множество мастерских
Пользователь может посещать множество семинаров
Мастерская имеет одного владельца (пользователя)
В мастерской много участников (пользователей)
Первую часть этого отношения легко настроить:
#user.rb
class User < ActiveRecord::Base
has_many :workshops
end
#workshop.rb
class Workshop < ActiveRecord::Base
belongs_to :user
end
Но как мне сделать отношение «другие has_many» от мастерских к пользователям. Могу ли я сделать что-то вроде семинара, принадлежащего :user, :as :owner. и воркшоп has_many :users, :as :members?
Что вы думаете об этом? Что еще хуже, у семинара есть ограничение на количество участников, поэтому мне нужны проверки...
Спасибо, Даниэль