Я занимаюсь обновлением приложения Rails из основной версии с 3 по 4. В предыдущей версии мы могли задействовать процесс загрузки, передав блок config.before_initialize
в нашем классе Application
. Отсюда я мог бы указать такие параметры, как rails c -some_cool_switch
и получить к нему доступ от ARGV
.Как запустить консоль Rails с аргументами командной строки?
В Rails 4 я не могу даже добраться до линии pry в этом блоке, так как получаю следующую ошибку: invalid option: --foobar (OptionParser::InvalidOption)
.
Я собираюсь погрузиться в исходный код, чтобы выяснить, что я могу сделать, за исключением исправления обезьяны и отчитаться. Я надеялся, что у кого-то есть лучшее решение или, по крайней мере, идея о том, что я иду вверх по неправильному дереву.
Я всегда могу отступить к чему-то вроде SOME_ENV_VAR=some_cool_switch rails c
и просто использовать другой ENV var, но я хотел бы знать свои варианты, и если это лучший подход или нет.
Причина этого больше не работает
railties
камень изменился. Ранее на Rails 3 аргументы командной строки не обрабатывались до тех пор, пока start
не был вызван на Console
. Теперь командная строка анализируется до того, как приложение инициализируется, а параметры строги, поэтому возникает ошибка.
Т.Л., д-р
В Rails 4, можно передавать аргументы в консоль как rails c --some_arg
, и если да, то каким образом?
Спасибо! Это делает трюк. – Aaron