Je voudrais pouvoir parcourir et inspecter tous les modèles dans mon application rails. En pseudo-code, il ressemblerait à quelque chose comme:Comment puis-je parcourir l'ensemble de l'application Modèles dans mes rails?
rails_env.models.each do |model|
associations = model.reflect_on_all_associations(:has_many)
... do some stuff
end
Ma question est de savoir comment puis-je inspecter mon rails app pour obtenir une collection des modèles (rails_env.models)?
'classify' est en effet mieux que' capitalize', mais il peut causer des problèmes, car il appellera 'singularize' sur les noms qui sont déjà singulier et que peut causer des problèmes. Une alternative encore meilleure serait d'appeler 'camelize' directement, ce qui classifie les appels après singulariser – DanneManne
Edited answer pour suggérer l'utilisation de camelize pour gérer le cas où classify mutile les noms de modèles qui se terminent par 's' mais ne sont pas pluriels. –
Excellent. Merci. J'ai fait ces changements sur mes propres scripts il y a un moment, j'ai juste oublié de le mettre à jour ici. Je suis également allé en avant et ai enlevé l'appel à #sub, au lieu d'utiliser #basename second arg qui peut enlever l'extension de fichier. –