模型:输入了车辆有_many 里程读数(在这种特殊情况下,车辆在小时计上运行)。
在视图中,我需要显示为每辆车输入的最大小时读数。这包括显示车辆模型中有关车辆的几个字段,并且仅显示里程模型中最大的相关小时数。
我遇到的问题是合并两个范围:
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' for #)
任何人都可以看到我在搞砸什么,或者是否有更好的方法来做到这一点。非常感谢。