0

クエリを実行しているものから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)

とてもうれしくなる。誰?:)

4

0 に答える 0