【发布时间】:2013-12-19 15:44:18
【问题描述】:
我有以下 3 个模型:
class One < ActiveRecord::Base
has_many :locations, as: :locatable, dependent: :destroy
has_many :countries, through: :locations, order: :name
end
class Two < ActiveRecord::Base
has_many :locations, as: :locatable, dependent: :destroy
has_many :countries, through: :locations, order: :name
end
class Three < ActiveRecord::Base
has_many :locations, as: :locatable, dependent: :destroy
has_many :countries, through: :locations, order: :name
end
如何构建包含所有三个模型的所有记录的 ActiveRecordRelation?
【问题讨论】:
-
您能用伪代码拼出您希望查询指定的内容吗?如果您只想要所有这些,只需执行 *.all 并将结果添加到结果数组中。
-
@timpone 问题的关键是我想要一个 ActiveRecordRelation,而不是一个数组。
-
你试过继承吗?二类
-
@SamD 尽可能避免 STI,但也许这是唯一的方法。
-
很确定 *.all 在 R4 中返回一个 ActiveRecordRelation。也许只是合并结果?
标签: ruby-on-rails ruby-on-rails-3 activerecord polymorphism