Без использования cd-in в корневом каталоге приложения Rails, как я могу выполнить команду Rails или Rake для этого приложения.Как запустить Rails/Rake из другого каталога?
Я пробовал:
bundle exec rake my_tasks:do_stuff BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile
среди других комбинаций, но безрезультатно.
[Update]
Проблема на самом деле два раза, расслоение не знает, где Gemfile есть и грабли не знает, что бежать.
Чтобы использовать Bundler:
BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile bundle exec ...
Обратите внимание, что BUNDLE_GEMFILE должен идти перед 'расслоения Exec'.
Чтобы использовать Rake:
rake -f /PATH/TO/RAILS_APP/Rakefile my_task:do_stuff
Для использования Rails консоли:
????
еще предстоит выяснить, как войти в консоль Rails из другого каталога. Если посмотреть на source, я думаю, что это может быть невозможно, потому что в конечном итоге File.join ('script', 'rails') запускает процесс рельсов.
Здесь [несколько хороших ответов] (http://stackoverflow.com/questions/1206545/run-rake-task-from-outside-rails-root), но я думаю, что лучший ответ, скорее всего, t делаю это :-). Возможно, вы обнаружите, что каждый единственный путь, на который делается ссылка в вызове rake, то даже внутри вызываемых задач rake все путают, потому что они ожидают привязки к каталогу, из которого запускается задача. –
Хорошо, Том. Как говорит Билл, задачи должны быть несовместимыми с CWD. Для небольших задач это не должно быть проблемой. Благодаря! – Nejuf