Я хочу создать новое приложение rails и запустить сервер rails для этого приложения, все из сценария ruby.
Мой код выглядит так:
#!/usr/bin/env ruby
system "rails new my_app"
system "cd my_app"
system "rails server &"
Однако при запуске «rails server &» путь находится не в папке my_app, а в родительской папке.
Есть ли способ изменить каталог внутри скрипта, чтобы я мог запускать «rails server», «rake about» и «rake db: migrate» для этого нового приложения?
Все советы по работе будут оценены.
ruby-on-rails
ruby
never_had_a_name
источник
источник
Ответы:
Использование
Dir.chdir
:источник
Не слушайте их,
Dir.chdir("dir")
возможно, поступите неправильно. Вы почти всегда хотите ограничить изменение определенным контекстом, не затрагивая остальную часть программы следующим образом:источник
Thread
класс)original_directory = Dir::pwd
, а затем вспомните переменную, например, так:Dir::chdir(original_directory)
система поддерживает аргумент: chdir, который позволяет указать его рабочий каталог:
выходы '/ tmp'
источник
Используется
Dir.chdir
для изменения рабочего каталога сценария.источник
Используйте Dir.chdir ("[aString]")
источник
Почему бы тебе просто не сделать это так:
источник
Следующие строки имеют такой же результат:
также вы можете запустить rails и создать приложение (это может быть полезно в тестах rspec и т. д.):
и когда-либо вы можете запустить сервер rails;)
источник