2009-03-26 5 views
10

Rails fournit une console très utile ('script/console'). J'écris un fichier ruby ​​et l'exécute dans la console en utilisant require foo.rbConsole Rails: Exécuter plusieurs fois un fichier Ruby

Cela fonctionne bien la première fois, mais la seconde et la suivante require foo.rb ne fonctionne pas mon script (require ne le recharge pas).

Avez-vous des conseils/astuces?

Répondre

2

Vous devriez probablement essayer de charger votre environnement de rails dans un script ou d'utiliser rake. Pensez également à utiliser script/runner.

Here est un exemple ancien et peut-être obsolète d'utilisation de votre environnement de rails dans un script. Une version plus récente et détaillée here.

A stack overflow answer

17

nécessitent est utilisé pour charger des extensions - donc le code exécutera une fois, pour obtenir les extensions à être présents dans votre environnement, mais après il faut ne rien faire, parce que le travail a déjà été fait.

D'autre part, le chargement charge et exécute le code à chaque fois.

Comme mentionné précédemment, si vous voulez juste pour exécuter le script et vous avez besoin de l'environnement Rails, puis envisager d'utiliser script/runner

+3

Assurez-vous d'utiliser le nom complet du fichier avec une charge (nécessite ne nécessite pas;)) – djburdick

Questions connexes