Консоль Rails: запускайте файл Ruby несколько раз - PullRequest
10 голосов
/ 26 марта 2009

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

Я пишу файл ruby ​​и запускаю его в консоли, используя require foo.rb.

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

У вас есть какие-нибудь советы / хитрости?

Ответы [ 2 ]

17 голосов
/ 26 марта 2009

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

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

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

2 голосов
/ 26 марта 2009

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

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

Ответ переполнения стека

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...