Quero criar um novo aplicativo Rails e iniciar o servidor Rails para esse aplicativo, tudo em um script ruby.
Meu código é parecido com este:
#!/usr/bin/env ruby
system "rails new my_app"
system "cd my_app"
system "rails server &"
No entanto, ao executar "rails server &", o caminho não está na pasta my_app, mas na pasta pai.
Existe uma maneira de alterar o diretório dentro de um script para que eu possa executar "servidor rails", "rake about" e "rake db: migrate" para esse novo aplicativo?
Todas as dicas úteis seriam apreciadas.
ruby-on-rails
ruby
never_had_a_name
fonte
fonte
Respostas:
Use
Dir.chdir
:fonte
Não
Dir.chdir("dir")
dê ouvidos a eles, provavelmente fará a coisa errada. O que você quase sempre deseja é limitar a mudança a um contexto particular, sem afetar o resto do programa como este:fonte
Thread
aula)original_directory = Dir::pwd
, então relembrar a variável mais tarde assim:Dir::chdir(original_directory)
sistema suporta: argumento chdir que permite especificar seu diretório de trabalho:
saídas '/ tmp'
fonte
Use
Dir.chdir
para alterar o diretório de trabalho de um script.fonte
Use Dir.chdir ("[aString]")
fonte
Por que você não pode simplesmente fazer assim:
fonte
As seguintes linhas têm a mesma saída:
também você pode executar rails e criar um aplicativo (isso pode ser útil em testes rspec e etc.):
e sempre você pode executar um servidor Rails;)
fonte