Ruby on rails 具有许多多态资源(使用ActiveRecord)

Ruby on rails 具有许多多态资源(使用ActiveRecord),ruby-on-rails,activerecord,orm,polymorphism,Ruby On Rails,Activerecord,Orm,Polymorphism,假设我们使用ActiveRecord,有一个用户(usermodel)有很多评论(Commentmodel)和很多文章(Articlemodel)。我们可以这样写: class User < ActiveRecord::Base has_many :comments has_many :articles end class Article < ActiveRecord::Base belongs_to :user end class Comment < Acti

假设我们使用ActiveRecord,有一个用户(
user
model)有很多评论(
Comment
model)和很多文章(
Article
model)。我们可以这样写:

class User < ActiveRecord::Base
  has_many :comments
  has_many :articles
end

class Article < ActiveRecord::Base
  belongs_to :user
end

class Comment < ActiveRecord::Base
  belongs_to :user
end
将文章和评论视为一个项目,是否可以这样做(使用1个查询)

user.items#=>


我认为这是可能的。谢谢。

这是以前问过的问题,最好是谷歌反向多态关联。也就是说,这里有一个问题问同样的问题

然后,答案链接到这个要点,这说明了一种很好的方法

user.comments # => [#<Comment:0x12bfcd010>, #<Comment:0x3928c1101>]
user.articles # => [#<Article:0x10aacd333>]
user.items # => [#<Comment:0x12bfcd010>, #<Article:0x10aacd333>, #<Comment:0x3928c1101>]