Me gustaría poder repetir e inspeccionar todos los modelos en mi aplicación de rieles. En pseudo-código que se vería algo como:¿Cómo puedo iterar a través de todos los Modelos en mi aplicación de rieles?
rails_env.models.each do |model|
associations = model.reflect_on_all_associations(:has_many)
... do some stuff
end
Mi pregunta es ¿cómo puedo inspeccionar mis rieles de aplicaciones para obtener una colección de los modelos (rails_env.models)?
'classify' es de hecho mejor que' capitalize', sin embargo, puede causar problemas, ya que llamará 'singularize' de nombres que ya son singulares y que puede causar problemas. Una alternativa aún mejor sería llamar 'camelize' directamente, que es lo que clasifica llamadas después de singularizar – DanneManne
Respuesta editada para sugerir el uso de camelize para manejar el caso en que classify mutila nombres de modelo que terminan en 's' pero no son en plural. –
Excelente. Gracias. Hice estos cambios en mis propios scripts hace un tiempo, me olvidé de actualizarlo aquí. También me adelanté y eliminé la llamada a #sub, en su lugar usé #basename second arg, que puede eliminar la extensión del archivo. –