3 つのモデルがあるとします。
Class Garage
has_many :drivers
end
Class Driver
belongs_to :garage
has_many :cars
end
Class Car
belongs_to :driver
end
それはすべて良いことです。
モデルに新しいキーを追加せずに直接実行できるように、とhas_many
の間に関連付けを追加したい場合はどうすればよいでしょうか?Garage
Car
garage.cars
garage_id
Car
私は現在、モデルcars
で定義された関数を使用しています:Garage
def cars
drivers.map{ |driver| driver.cars }.flatten
end
しかし、この関数はプロキシではなく配列を返すため、返された車で名前付きスコープを使用できないため、それだけでは不十分です。さらに、クエリに関しては最適ではありません。
ご協力ありがとうございました。