J'ai vu des exemples où il est placé dans le dossier lib, et un autre exemple dans le dossier de l'application. Y at-il un endroit standard où il devrait être mis pour Rails 2.3.8 et Rails 3 convention?Où mettre des scripts Ruby pour script/runner sur un projet Rails?
Répondre
Les scripts doivent être placés dans le dossier/scripts. Bien sûr, il y a presque toujours de la confusion quant à la façon de différencier un script d'un fichier ruby régulier qui est 'requis' par un contrôleur/modèle. Si votre script est requis pour démarrer/maintenir votre application, alors oui c'est un script. Ou alors si c'est un fichier ruby qui est nécessaire à certains moments ou seulement dans certains cas où il complète le modèle/contrôleur, vous feriez mieux de le mettre dans le dossier/lib.
Je n'ai généralement pas de scripts runner, mais j'appelle directement une méthode qui existe sur un modèle ou quelque chose dans lib. Par exemple, mes Rails recherchent généralement comme tâches cron ceci:
/path_to_app/scripts/runner -e production "SomeModule.perform_task"
Je pense que c'est plus propre.
j'ai écrit un script sur une une fois, cependant, et dans ce cas, je l'ai mis dans le répertoire lib:
/path_to_app/scripts/runner -e production /path_to_app/lib/perform_task.rb"
êtes-vous sûr? les scripts le dossier 'script' semblent très" système "comme ou" Rails "comme - interne à Rails. –
Absolument. Si votre script est conforme à la définition du script mentionnée ci-dessus, il devrait certainement figurer dans le dossier/scripts. – Shreyas