0
我有這種多態關聯,用戶可以有很多評論,學校可以有很多評論,評論可以有很多評論(或者在我的命名案例回覆中):找到多態評論模型中的評論的回覆者
class Comment < ActiveRecord::Base
attr_accessible :content
has_many :replies, :as => :commentable, :class_name => "Comment" # replies to comments
belongs_to :commentable, :polymorphic => true
belongs_to :commentor, :class_name => "User", :foreign_key => "user_id"
end
class User < ActiveRecord::Base
has_many :comments, :as => :commentable
has_many :commentors, # all users who commented on a user
:through => :comments,
:source => :commentor
end
class School < ActiveRecord::Base
has_many :comments, :as => :commentable
has_many :commentors, # all users who commented on a school
:through => :comments,
:source => :commentor
end
在用戶,我可以檢索所有誰使用@user.commentors
用戶評論。學校也是如此,即@school.commentors
。
對於評論模型,我希望在評論模型中實現同樣的功能,在那裏我可以找到所有評論者(或者我猜測評論者)的評論;然而,我不知道自has_many後創建了什麼樣的關聯:通過關聯不會像用戶和學校模型那樣工作。
工作的呢? has_many:reply_commentors,:through =>:reply,:source =>:commentor – weexpectedTHIS
D'oh是的,這是有效的。哇,我很愚蠢。謝謝。 – Mavoir
如果您想接受,我添加了我的評論作爲答案。 – weexpectedTHIS