モデル: 車両 has_many 走行距離の測定値が入力されています (この特定のケースでは、車両はアワー メーターで走行しています)。
ビューでは、各車両に入力された最大の時間測定値を表示する必要があります。これには、車両モデルからの車両に関するいくつかのフィールドの表示と、マイレージ モデルから読み取った最大の関連時間のみの表示が含まれます。
私が抱えている問題は、2 つのスコープをマージすることです。
scope :max_hours, Mileage.maximum(:hours, :group => :vehicle_id)
と
scope :max_vehicle_hours; lambda { joins(:vehicle).merge(Mileage.max_hours) }
Vehicle モデルのビューの情報にしかアクセスできず、max_hours スコープの結果にアクセスする方法がわかりません。コントローラ:
@vehicle = Vehicle.max_vehicle_hours
<% @vehicle.each do |m| %>
私が試した使用:
m.mileage.hours
m.max_hours.mileage
しかし、それを解決することはできません。(エラーは # の未定義のメソッド `mileage' です)
私が何を台無しにしているのか、またはこれを行うためのより良い方法があるかどうか、誰でも見ることができますか。どうもありがとう。