我有作者和主持人的记录。所以我有两个模型Record和User:
class Record < ActiveRecord::Base
attr_accessible :content, :author_id, :moderator_id
end
和
class User < ActiveRecord::Base
attr_accessible :name, :uid
validates :uid, :presence => true
validates :name, :presence => true
has_many :documents
end
有人能建议一个很好的解决方案来建立这些模型之间的关系,这样一条记录只能有一个作者而只有一个主持人吗?
答案 0 :(得分:1)
这可以通过在User
模型中引用模型Record
来完成。
记录创建表应包含两行,如下所示:
t.references :author
t.references :moderator
记录模型应该看起来像
class Record < ActiveRecord::Base
attr_accessible :content, :author_id, :moderator_id
validates :author_id, moderator_id, :uniqueness => true # To have unique author and moderator for each record
belongs_to :author, class_name => 'User'
belongs_to :moderator, class_name => 'User'
end