0

模型:输入了车辆有_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 #)

任何人都可以看到我在搞砸什么,或者是否有更好的方法来做到这一点。非常感谢。

4

1 回答 1

0

看起来我让这比必要的复杂得多。

m.mileages.maximum(:mileage)
于 2014-03-02T10:57:30.343 回答