我需要访问与我正在进行查询的关系存储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)
我会很开心。任何人? :)