あなたのためにすぐに使えるはずです。私はEntityMappableを使用するクラスのカップルでこれを試してみましたが、上記が与える
EntityMap.includes(:entity_mappable).map(&:entity_mappable).map(&:class).map(&:name).uniq
:私はこれを試してみてください、あなたがEntityMappable
から何かを求めていないので、それは発射いないように見える疑いますレールコンソールでこのSQL出力:
EntityMap Load (0.9ms) SELECT
entity_maps .* FROM
entity_maps ORDER BY
entity_maps .
位置ASC CameraShot Load (0.4ms) SELECT
vision_sources .* FROM
vision_sources WHERE
vision_sources .
タイプIN ('CameraShot') AND
vision_sources .
ID IN (89, 87, 88, 90, 85, 86) ORDER BY
vision_sources .
位置ASC Sound Load (0.3ms) SELECT
は.* FROM
がWHERE
が.
id` = 1
CameraShotモデルは、(それ自体を定義するので、タイプフィールド)STIを使用VisionSourceのサブクラスであることに留意されたい音に聞こえる音サウンドモデルが効果的に次のようになりながら、:
class Sound
has_one :entity_map, as: :entity_mappable
end
おそらくあなたは[こちら](http://stackoverflow.com/questions/11909257/how-to-eager-load-a-polymorphic-答えを見つけることができますモデル) – alexunger