У меня есть Order
модель с такими атрибутами:
- create_at DateTime
- delivery_at DateTime
- status String
Я пытаюсь отсортировать две коллекции по created_at
или delivery_at
в зависимости от status
.
В модели я создал метод, который проверяет порядок статуса и возвращает created_at
или delivery_at
datetime.
def status_date
if status == 'on_delivery'
delivered_at.to_datetime
else
created_at.to_datetime
end
end
А потом в контроллере:
created = Order.where(status: 'open')
on_delivery = Order.where(stauts: 'on_delivery')
orders = created + on_delivery
orders.sort_by(&:status_date)
Что не работает.
Я пытаюсь составить хронологический список заказов, но DateTime должен быть связан с его статусом.