4

ネストされたポリモーフィック アソシエーションを熱心に読み込もうとしています。解決策が見つからないようです。

これが私のモデル設定です:

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

このネストされたポリモーフィック アソシエーションを熱心に読み込むにはどうすればよいですか?

4

1 に答える 1

2

まず、投稿の has_many コメントも設定する必要があります :as => ownable

    class Post
      has_many :comments, as: :ownable
    end

これを変更した後でも、レールは所有可能なテーブルを見つけることができないため、同じエラーが発生します。

ここに投稿された回避策がありますEager load polymorphic

于 2014-01-03T06:35:33.337 に答える