Рубины или рельсы предоставляют метод упорядочения строк в указанном порядке? Скажем, что у меня есть следующие приоритеты: "Тяжелый, Высокий, Средний, Низкий".
Эти приоритеты не будут часто меняться (если вообще). У меня есть модель задачи с приоритетным столбцом:
tasks
- id (integer)
- name (string)
- priority (string)
Я хотел бы получить массив всех заданий, упорядоченных по приоритету. Поскольку логический порядок не соответствует алфавитному порядку, его невозможно просто упорядочить по столбцу приоритета:
Task.all(:order => :priority)
То, что я сделал, это создать модель Priority и определить ассоциации: Task принадлежит_приоритету. В таблице приоритетов я затем присваивал каждому имени приоритета значение и упорядочивался по этому значению. Есть лучший способ сделать это? Я бы предпочел не иметь таблицу приоритетов вообще и объявить константу PRIORITY (как хэш) или просто указать приоритет как строку в таблице задач.