我有一个看起来像这样的 Post 模型:
# id :integer
# author_id :integer
# owner_id :integer
# owner_type :string(255)
# content :text
class Post < ActiveRecord::Base
belongs_to :author, class_name: 'User'
belongs_to :owner, polymorphic: true
end
所有者可以是用户、组或地点。我想知道为评论建模的最佳方法是什么。考虑到它与 Post 共享大部分属性,我认为相同的 Post 模型可以用作 Comment,使用如下关系:
has_many :comments, class_name: 'Post', :as => :owner
但实际上我对这个解决方案一点也不满意,因为 Post 使用相同的关系来存储它的所有者。
最好创建一个不同的模型来发表评论?性病怎么办?