¿El rubí o los rieles proporcionan un método para pedir cadenas en un orden específico? Diga que tengo las siguientes prioridades "Severo, Alto, Medio, Bajo".Rieles: pedido personalizado de registros
Estas prioridades no van a cambiar con frecuencia (si es que las hay). Tengo un modelo de tareas con una columna de prioridad:
tasks
- id (integer)
- name (string)
- priority (string)
Me gustaría obtener una matriz de todas las tareas ordenadas por prioridad. Dado que el orden lógico no se sigue el orden alfabético, no es posible simplemente ordenar por la columna de prioridad:
Task.all(:order => :priority)
Lo que he hecho es crear un modelo de prioridades y define las asociaciones: Tarea belongs_to prioridad. En la tabla de prioridades, luego asigné a cada nombre de prioridad un valor y lo ordeno por ese valor. ¿Hay una mejor manera de hacer esto? Prefiero no tener una tabla de prioridades en absoluto y declarar una constante PRIORITY (como un hash), o simplemente especificar la prioridad como una cadena en la tabla de tareas.
Muy bien, gracias! Exactamente lo que estaba buscando. – Homar
Sería aún mejor usar acts_as_list con esto, que proporciona algunos métodos de clasificación, etc., realmente prolijo. –