Me gustaría juntar una consulta ActiveRecord utilizando datos de tiempo de ejecución. Lo que tengo en mente es algo así como ...¿Cómo puedo crear una consulta de ActiveRecord de forma incremental, línea por línea?
r = Person.where('last_name LIKE ?', foo)
r.where('created_at < ?', Time.now - 100.days)
r.where(...some other conditions...)
Eso no funciona como se esperaba. Para conseguir que funcione hay que encadenarlos juntos en una sola línea ...
Person.where('last_name LIKE ?', foo) \
.where('created_at < ?', Time.now - 100.days) \
.where(...some other conditions...)
Estoy tratando de encontrar una manera de difundirlo más operaciones separadas en varias líneas.
Me tratan como una característica más que un error :) –
Se siente * * diferente a cómo se debe comportar. Pero tal vez sea solo yo. He tenido problemas antes de que accidentalmente olvidara volver a asignar la variable después de llamar a un método arel y no obtenía los resultados que esperaba. Entonces ... lo llamo frustrante: p – nzifnab
Idealmente, sería compatible con una variante de explosión para mutar, es decir, 'r.where! 'created_at ...' ' – mahemoff