【发布时间】:2010-12-01 07:40:33
【问题描述】:
这是我第一次使用 Rails,我想知道是否可以在一个 SQL 查询中加载一个多态关联?它们之间的模型和关联足够基本:资产模型/表可以通过多态关联来引用内容(图像、文本或音频),即
资产类 true 结尾Image、Text、Audio 的定义如下:
类图像 :content 结尾当我尝试加载图片时,这样说:
Image.first(
:条件 => {:id => id},
:include => :asset
)
它指定了两个查询,一个用于检索图像,另一个用于检索资产(仅供参考,如果我指定 :joins,也会发生这种情况)。根据我的理解,ActiveRecord 这样做是因为它不知道 Image 和 Asset 之间存在一对一的关联。有没有办法强制加入并一次性检索 2 个对象?我也尝试过将 join 与自定义选择一起使用,但最终我不得不手动创建 ActiveRecord 模型及其关联。
ActiveRecord 是否提供了一种方法来做到这一点?
【问题讨论】:
标签: ruby-on-rails activerecord polymorphic-associations