sé que se puede hacer algo como esto para cargar el ambiente carriles:Tareas ActiveRecord Migration & Rake no cargando modelos?
task :my_task => :environment do
MyModel.find(1)
end
pero parece que el código en los modelos no se ejecutan. Estoy usando acts_as_audited, y hay una buena función de clase que recupera todos los modelos que están siendo auditados. La llamada se ve algo como:
Audit.audited_classes
Y para especificar un modelo de ser auditable, sólo tiene que añadir esta línea a sus modelos:
acts_as_audited
Cuando audited_classes se ejecuta en la consola, consigo una serie de todas mis clases auditadas; sin embargo, cuando lo ejecuto desde una tarea de rake (o migración), obtengo una matriz vacía.
[EDIT]
Después de jugar un poco más, se dio cuenta que si los modelos no se carguen hasta que se hace referencia (es decir, la carga diferida). Pensé que establecer cache_classes en true en la configuración solucionaría esto, pero todavía parecen estar cargados de forma lenta.
Una posible solución sería recorrer todos los modelos (como se explica en esta publicación: Is there a way to get a collection of all the Models in your Rails app?) pero parece un poco raro, y esperaba que hubiera una manera más limpia.
¿Alguna idea?
Gracias
Sí ... yo ya estaba haciendo eso, pero es un truco ... Yo presenté un boleto aquí: https://github.com/rails/rails/issues/5148 – gmoniey
esto no funciona con modelos de espacio de nombres, no creo. ¿Alguna vez te has encontrado con un espacio de uso con espacios de nombres? – jay