假设我们使用ActiveRecord,并且有一个用户(User
模型)有很多评论(Comment
模型)和许多文章(Article
模型)。我们可以这样写:
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
...所以我可以user.comments
和user.articles
:
user.comments # => [#<Comment:0x12bfcd010>, #<Comment:0x3928c1101>]
user.articles # => [#<Article:0x10aacd333>]
将文章和评论视为一个项目,是否可以这样做(有1个查询)?
user.items # => [#<Comment:0x12bfcd010>, #<Article:0x10aacd333>, #<Comment:0x3928c1101>]
...这样,一个项目可能看起来像一个多态附加资源。即使它不是正常的polymorphic association。
我认为这是可能的。感谢。
答案 0 :(得分:0)