如何通过多个has_many:通过?

时间:2012-10-05 08:13:54

标签: ruby-on-rails ruby-on-rails-3 has-many-through has-many-polymorphs

我需要访问与我正在进行查询的关系存储2个关系的信息。

class Information < ActiveRecord::Base
  ...
  belongs_to :information_type, polymorphic: true
  ...
end

class InformationTypeOne < ActiveRecord::Base
  ...
  belongs_to :location
  has_one :information, as: :information_type
  ...
end

class InformationTypeTwo < ActiveRecord::Base
  ...
  belongs_to :location
  has_one :information, as: :information_type
  ...
end

class Location < ActiveRecord::Base
   has_many :information_type_ones
   has_many :information_type_twos
end

所以我想要做的是找到属于一个位置的所有信息,无论它是什么信息类型。

最佳情况类似于Information.where(location: 'Location A')

任何人都知道如何实现这个目标?

---更新---

我设法通过添加以下内容来至少获取属于信息的位置:

delegate :location, to: :information_type

如果我现在可以以某种方式完成这项工作:

Information.where(location: 1)

我会很开心。任何人? :)

0 个答案:

没有答案