Изменить каталог в рубиновом сценарии?

Я хочу создать новое приложение направляющих и включить сервер направляющих для того приложения, всего из рубинового сценария.

Мой код похож на это:

#!/usr/bin/env ruby
system "rails new my_app"
system "cd my_app"
system "rails server &"

Однако, когда рабочий "сервер направляющих и" путь не находятся в my_app папке, а в родительской папке.

Существует ли способ изменить каталог в сценарии так, чтобы я мог выполнить "сервер направляющих", "грабли об" и "обстреливают db:migrate" для того нового приложения?

Вся работа вокруг подсказок ценилась бы.

94
задан Nakilon 23 April 2013 в 09:18
поделиться

4 ответа

Используйте Dir.chdir :

Dir.chdir "my_app"
100
ответ дан 24 November 2019 в 05:55
поделиться

Используйте Dir.chdir , чтобы изменить рабочий каталог для сценария.

3
ответ дан 24 November 2019 в 05:55
поделиться

Используйте Dir.chdir ("[aString]")

1
ответ дан 24 November 2019 в 05:55
поделиться

Не слушайте их, Dir.chdir ("dir") , вероятно, поступит неправильно. Вы почти всегда хотите ограничить изменение конкретным контекстом, не затрагивая остальную часть программы следующим образом:

#!/usr/bin/env ruby
system "rails new my_app"
Dir.chdir("my_app") do
  system "rails server &"
end
# back where we were, even with exception or whatever
353
ответ дан 24 November 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: