Cuidadín con la opción :finder_sql del has_many de ActiveRecord...
... porque para que funcione correctamente tenemos que pasarle la consulta como una cadena entre apóstrofes (o comillas simples).
Así figura en su ejemplo dentro de la documentación de la API, pero cualquier despistado (como por ejemplo yo) podría poner la cadena entre comillas dobles. Si así lo hacemos y dentro hacemos uso de la clave principal del registro actual (con algo como "... WHERE post_id = #{id} ...") la consulta resultante tendrá en su lugar el identificador del objeto Ruby.
Por lo menos eso me ha pasado a mí esta tarde y me he vuelto loco hasta que he descubierto el origen del problema.
No me enrollo más que ya llego tarde a la super cañas-cena-party de los Cocktail Workers.
¡A disfrutar de la/s fiesta/s!




Fernando García Samblas dijo
Lo he probado también en casa con Rails 2.0.1 y ocurre lo mismo.
18 Diciembre 2007 | 02:30 AM