我正在尝试加载嵌套的多态关联。我似乎无法找到解决方案。
这是我的模型设置:
class Post
has_many :comments
end
class Comment
belongs_to :ownable, polymorphic: true
end
class User
has_many :comments, as: :ownable
end
这就是我要做的事情:
Post.includes(comments: :ownable).to_a
但它正在抛出这个错误:
ActiveRecord::EagerLoadPolymorphicError - Can not eagerly load the polymorphic association :ownable
如何切实加载这种嵌套的多态关联?
答案 0 :(得分:2)
首先,您的帖子has_many评论也应该设置:as =>可拥有
class Post
has_many :comments, as: :ownable
end
即使更改了这个,你仍然会得到相同的错误,因为rails无法找到一个可用的表。
这里有一个解决方法Eager load polymorphic