0

我需要访问一个信息,该信息存储了我正在查询的两个关系。

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

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

最好的情况是Information.where(location: 'Location A')

任何人都知道如何实现这一点?

- - 更新 - -

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

delegate :location, to: :information_type

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

Information.where(location: 1)

我会很高兴的。任何人?:)

4

0 回答 0