У меня есть модель заказа, которая имеет следующие атрибуты:
submitted_date :date
completed_date :date
accepted_date :date
Я использую эти поля для определения статуса заказа с помощью следующего блока кода:
def status
if completed_date.present?
"Fulfilled"
elsif accepted_date.present? && submitted_date.present? && completed_date.blank?
"Accepted"
elsif submitted_date.present? && accepted_date.blank? && completed_date.blank?
"Submitted"
else
"Open"
end
end
Я полностью разместил его при создании приложения и не понял, что пользователь захочет увидеть результаты, упорядоченные в следующем порядке:
Open,
Отправлено,
Принято,
Исполненная
Мне, вероятно, следовало бы использовать целочисленное поле для использования в качестве перечисления для определения статуса заказа, но я создал много функциональных возможностей вокруг вышеупомянутой структуры.
Что мне интересно, можно ли упорядочить запрос так, чтобы результаты упорядочивались в указанном выше произвольном порядке?