Rails 3 - принадлежит_ пользователю И имеет_пользователей - PullRequest
1 голос
/ 07 июня 2011

Я пытаюсь понять, как сделать следующее:

Концерт принадлежит_ пользователю (создателю), гостям has_many и организаторам has_many.

Хорошо ли следующий подход?

Концерт:

 class Concert < ActiveRecord::Base
  belongs_to :user
  has_many :guests, :class_name => 'User'
  has_many :organisers, :class_name => 'User'
 end

Пользователь:

 class User < ActiveRecord::Base
  has_many :concerts
 end

Заранее спасибо,

1 Ответ

2 голосов
/ 07 июня 2011

Объявление двух новых моделей для хранения отношений has_many:

 class Concert < ActiveRecord::Base
  belongs_to :user
  has_many   :concert_guests
  has_many   :concert_organizers

  has_many   :guests, :through => :concert_guests, :source => :user
  has_many   :organizers, :through => :concert_organizers, :source => :user
 end

 class User < ActiveRecord::Base
  has_many :concerts
 end

 # table with user_id and concert_id columns   
 class ConcertGuest
   belongs_to :user
   belongs_to :concert
 end

 # table with user_id and concert_id columns   
 class ConcertOrganizer
   belongs_to :user
   belongs_to :concert
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...