【发布时间】:2008-10-29 14:09:38
【问题描述】:
我有两个模型,Article 和 Post,它们都继承自名为 ContentBase 的基本模型。
您可以在文章和帖子上留下 cmets,因此我在评论和文章或帖子之间使用多态关联。
但是,由于 Article 和 Post 都从 ContentBase 继承,commentable_type 字段最终成为两者的“ContentBase”并搞砸了一切。
有没有办法在Article和Post的has_many关系中指定commentable_type字段?
编辑:
“搞砸一切”是指如果有 ID=1 的文章和 ID=1 的帖子,并且我添加了 commentable_id=1、commentable_type=ContentBase 的评论,则该评论将同时出现在文章和发帖。
代码如下:
class Article < BaseContent
has_many :comments, :as => :commentable
end
class Post < BaseContent
has_many :comments, :as => :commentable
end
这是我的评论模型:
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
end
【问题讨论】:
标签: ruby-on-rails ruby