Soy bastante nuevo en Rails y tenía curiosidad acerca de algunas de las convenciones que los expertos están usando cuando necesitan construir una consulta SQL muy compleja que contiene muchas condiciones. Específicamente, manteniendo el código legible y mantenible.¿Cuál es su convención para especificar consultas SQL complejas en Rails?
Hay un par de maneras que se me ocurren:
sola línea, en la llamada de encontrar():
@pitchers = Pitcher.find(:all, "<conditions>")
utilizar una cadena predefinida y pasarlo en:
@pitchers = Pitcher.find(:all, @conditions)
utilizar una función miembro privado para devolver una consulta
@pitchers = Pitcher.find(:all, conditionfunction)
Me inclino por la convención de función de miembro privado, adicionalmente porque podría pasar parámetros para personalizar la consulta.
¿Alguna idea de esto?
Excelentes comentarios, ¡gracias! – unknownuser
Me alegra ayudar. Déjame preguntarte esto: ¿en qué contexto llamas 'encontrar'? ¿Controlador? Otro modelo? Espero no ver :) – nakajima
Desde el controlador. He estado haciendo la mayoría de mis hallazgos de esa manera. Veré cómo los empuja hacia el modelo. – unknownuser