クエリを実行しているものから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
ですから、私がやりたいのは、InformationTypeが何であれ、1つの場所に属するすべての情報を見つけることです。
ベストケースは次のようなものになりますInformation.where(location: 'Location A')
誰もがこれを実現する方法を知っていますか?
- - アップデート - -
これを追加することで、少なくとも情報に属する場所を取得することができました。
delegate :location, to: :information_type
私が今どういうわけかこれを機能させることができれば:
Information.where(location: 1)
とてもうれしくなる。誰?:)