Me estoy golpeando la cabeza contra lo que creo que sería un problema muy simple de resolver en Grails:Grails: clasificación de salida de lista sin tener que tener un SortedSet o modelo comparable?
Digamos que tengo un modelo de carrito de compras; entonces un carrito de clases que tiene muchos artículos, y cada artículo pertenece al carro. En general, no me importa el orden de los artículos en el carro, no me importa en qué orden están almacenados, calculados, etc. SIN EMBARGO, quiero VISUALIZARlos en el mismo orden. Me parece que esta lógica debería poder existir TOTALMENTE en la capa de vista, pero las únicas soluciones que he podido encontrar me dicen que declare elementos como SortedSet en la capa del modelo. Esto también afecta mi capa de controlador, ya que las simples operaciones de lista como .collect {} ahora requieren saltos sintácticos adicionales para mantener las conversiones de tipo correctas y preservar mi clasificación.
Para mí, esto es una locura, ¡así que me estoy perdiendo algo simple! ¿Hay alguna manera, por ejemplo, de hacer algo como <g:each in="${cart.items.sort{it.name}}">
o algo similar, de modo que pueda imponer una orden de visualización consistente SOLAMENTE en la capa de salida/vista? EDITAR - Vea la respuesta de Matt a continuación; una versión de esto realmente funciona.
¡Gracias por cualquier consejo o sugerencia!
Eso es genial. Eventualmente tropecé con una solución similar en la misma línea usando un ProxyGenerator y la interfaz Comparator, pero el tuyo es mucho más limpio, y definitivamente el tipo de solución que estaba buscando. ¡Gracias! – bprotas