我有一个名为List的模型,每个列表都有很多Car。每辆车都有一个司机,可以是注册司机。这是检索驱动程序名称的方式
Car Draper Decorator:
...
def driver_name
if driver.present?
driver.name
else
model.driver_name
end
end
好的,现在我想根据汽车司机的名字订购一个List。这意味着当运行List.cars时,将返回按驱动程序名称排序的列表,同时考虑已注册和未注册。
答案 0 :(得分:0)
您可以使用ruby的排序方法 - 而不是活动记录:
cars = Car.all
sorted_cars = cars.sort{|a,b| a.decorate.driver_name <=> b.decorate.driver_name }
这将使用您定义的装饰器方法进行排序。