Консоль Rails: несколько раз запустите файл Ruby

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

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

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

Есть ли у вас советы/рекомендации?

Ответ 1

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

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

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

Ответ 2

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

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

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