型号: 车辆输入了大量的里程读数(在这种特殊情况下,车辆以小时计量表运行)。
在视图中,我需要显示为每辆车输入的最大小时数。这包括从车辆模型显示车辆的几个字段,以及从里程模型中读取的最大相关小时数。
我遇到的问题是合并两个范围:
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
但是无法解决这个问题。 (错误是未定义的方法'里程'为#)
任何人都可以看到我搞砸了,或者是否有更好的方法来做到这一点。非常感谢。
答案 0 :(得分:0)
看起来我要做的远比必要复杂得多。
m.mileages.maximum(:mileage)