2009-03-26 4 views
10

Rails представляет собой очень полезную консоль ('script/console').Rails console: запустите файл Ruby несколько раз

Я пишу рубиновый файл и запускаю его в консоли с помощью require foo.rb.

Он работает нормально в первый раз, но второй и следующий require foo.rb не запускает мой сценарий (require не перезагружает его).

У вас есть подсказки/рекомендации?

ответ

2

Возможно, вам стоит попробовать загрузить среду рельсов в сценарий или использовать грабли. Также рассмотрите использование скрипта/бегуна.

Here - старый и, возможно, устаревший пример использования среды рельсов в скрипте. Более поздняя и подробная версия here.

A stack overflow answer

17

требует используется для загрузки расширений - так что код будет выполняться один раз, чтобы получить расширение присутствовать в вашей среде, но последующее требует не будет ничего делать, потому что работа уже сделано.

load, с другой стороны, загружает и выполняет код каждый раз.

Как уже упоминалось, если вы просто хотите, чтобы запустить свой сценарий, и вам нужна среда Rails, а затем рассмотреть вопрос об использовании сценария/бегун

+3

Убедитесь, что вы используете полное имя файла с нагрузкой (требуется не требует этого;)) – djburdick

Смежные вопросы