Ruby on rails 具有许多多态资源(使用ActiveRecord)
假设我们使用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
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>]