嘿所以我有一个我正在实施的基本架构。以下是基本模型
User - Public Free User of App
Organization - Subscribes to app, has employees
Employee - Belongs to an organization
这是我的多态部分
Post - Can be made by employees or users
Image - Multiple can be attached to either posts or comments
Comment - Can be added to images or posts by either employees or users
用户和员工是截然不同的。
完成了多态图像。我遇到麻烦的地方是评论部分。如何进行设置以使评论可以与图像或帖子相关联,并且可以由员工或用户发布。这是我到目前为止所做的。
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
end
class Post < ActiveRecord::Base
has_many :comments, :as => :commentable
end
class Image < ActiveRecord::Base
has_many :comments, :as => :commentable
end
这样设置它以便评论可以属于帖子或图像,我该如何设置它以便员工/用户在添加它们时可以有很多评论?或者我应该将其拆分为EmployeeComments和UserComments。
似乎我需要另一个将承载多态所有权关联的表。
答案 0 :(得分:1)
您应该只需要向belongs_to
模型添加另一个多态Comment
关联,该关联将代表评论的作者。
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
belongs_to :authorable, :polymorphic => true
end
class User < ActiveRecord::Base
has_many :comments, :as => :authorable
end
class Employee < ActiveRecord::Base
has_many :comments, :as => :authorable
end