【问题标题】:Rails 3 - belongs_to user AND has_many usersRails 3 - belongs_to 用户和 has_many 用户
【发布时间】:2011-06-06 23:08:12
【问题描述】:

我正在尝试弄清楚如何执行以下操作:

音乐会属于_用户(创作者)、有_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

提前致谢,

【问题讨论】:

  • 看起来不错。你遇到了什么问题?
  • 这里有很好的资源:@​​987654321@

标签: ruby-on-rails database ruby-on-rails-3 activerecord


【解决方案1】:

添加两个新模型来保持 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

【讨论】:

  • 这是最简单的方法吗?看起来有点复杂:)
  • 如果您想在UserConcert 模型之间保持has_many 关系,这是一种方法。
猜你喜欢
  • 2012-05-15
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 2011-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多