- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题与彻底解释的答案几乎相同here ,除了我需要立即加载多态表中 has_one
的记录。
我的模型如下:
class VisionSource
has_one :entity_map, as: :entity_mappable
end
class EntityMap
belongs_to :entity_mappable, polymorphic: true
end
我怎样才能逐字编写这样的内容EntityMap.includes(:entity_mappable)
?
最佳答案
应该开箱即用。我怀疑它看起来没有触发,因为您没有向 EntityMappable 请求某些东西
试试这个:
EntityMap.includes(:entity_mappable).map(&:entity_mappable).map(&:class).map(&:name).uniq
我尝试了几个使用EntityMappable的类,上面在rails控制台中给出了这个SQL输出:
EntityMap 加载 (0.9ms) SELECT
entity_maps.* FROM
entity_mapsORDER BY
entity_maps.
positionASC
vision_sources
CameraShot 加载(0.4 毫秒) SELECT.* FROM
vision_sourcesWHERE
vision_sources.
typeIN ('CameraShot') AND
vision_sources.
idIN (89, 87, 88, 90, 85, 86) ORDER BY
vision_sources.
positionASC
sounds
声音负载 (0.3ms) SELECT.* FROM
soundsWHERE
sounds.
id` = 1
请注意,CameraShot 模型是 VisionSource 的子类,它使用 STI(因此使用类型字段来定义自身),而 Sound 模型实际上如下所示:
class Sound
has_one :entity_map, as: :entity_mappable
end
关于mysql - 急切加载 ActiveRecord 多态关联为 'has_one',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43196019/
我来自 Asp.Net 世界,试图理解 Angular State 的含义。 什么是 Angular 状态?它类似于Asp.Net中的ascx组件吗?是子页面吗?它类似于工作流程状态吗? 我听到很多人
我一直在寻找 3 态拨动开关,但运气不佳。 基本上我需要一个具有以下状态的开关: |开 |不适用 |关 | slider 默认从中间开始,一旦用户向左或向右滑动,就无法回到N/A(未回答)状态。 有人
我是一名优秀的程序员,十分优秀!