Ich habe ein Modell, das wie folgt aussieht:Wie verweise ich auf mehrere Join-Tabellen mit demselben zugrunde liegenden Modell?
class A
has_many :B, -> { ... where clause 1 }, source: :tags
has_many :C, -> { ... where clause 2 }, source: :tags
end
tags
auf zwei verschiedene Arten zu A
schließt sich also im Grunde.
Ich mag würde eine Abfrage auszuführen, die innere eine andere Tabelle auf jeweils bezogen sowohl mit B
und C
durch A
und Filter verbindet ist Attribute. Normalerweise würde ich das wie tun:
Other.joins(A: [:B, :C]).where('tags.id = 1')
aber tags
hier nicht eindeutig ist. Gibt es einen besseren Weg, dies zu tun?
Ich weiß, das nicht das sauberste Datenmodell ist, aber wir nur so tun habe ich diese Code-Basis von jemandem anderen geerbt: P