0
각 블록의 트럭 개체를 사용하여 .deliveries.last를 호출하면 레일스는 해당 트럭에 대해 가장 높은 ID를 가진 배달을 반환하지 않습니다.다른 응답을 반환하는 레일스 메서드
@todays_workdays = Workday.todays_workdays
@todays_workdays.each do |workday|
@working_trucks << workday.driver.truck
end
@working_trucks.each do |truck|
if truck.deliveries.last.time_arrived.between?(Time.zone.now.beginning_of_day,Time.zone.now.end_of_day) # returns a delivery for each truck but not its actual last delivery (e.g. id 447)
...
end
end
하지만이 Truck.find (truck.id)를 사용할 때, 내가 이런 일이 왜 모르겠어요 각 트럭
if Truck.find(truck.id).deliveries.last.time_arrived.between?(Time.zone.now.beginning_of_day,Time.zone.now.end_of_day) # returns proper last delivery for each truck (e.g. id 486)
...
end
의 마지막 배달을 돌려 제대로 작동합니다. 어떤 도움/설명이라도 대단히 감사하겠습니다. 감사!
당신의 팁을 주셔서 감사하지만 또한 레일 4를 사용하고, 나는 .sort_by {사용하여 시도 | X | x.id} 같은 문제가 계속 발생합니다. – avalente1