Chcę stworzyć nową aplikację railsową i odpalić serwer railsowy dla tej aplikacji, wszystko począwszy od skryptu ruby.
Mój kod wygląda tak:
#!/usr/bin/env ruby
system "rails new my_app"
system "cd my_app"
system "rails server &"
Jednak w przypadku uruchomienia „serwera rails &” ścieżka nie znajduje się w folderze my_app, ale w folderze nadrzędnym.
Czy istnieje sposób na zmianę katalogu w skrypcie, tak żebym mógł uruchomić „serwer railsowy”, „rake about” i „rake db: migrate” dla tej nowej aplikacji?
Wszelkie obejścia wskazówek będą mile widziane.
ruby-on-rails
ruby
Never_had_a_name
źródło
źródło
Odpowiedzi:
Zastosowanie
Dir.chdir
:źródło
Nie słuchaj ich,
Dir.chdir("dir")
prawdopodobnie zrobi źle. Prawie zawsze chcesz ograniczyć zmiany do określonego kontekstu, nie wpływając na resztę programu w następujący sposób:źródło
Thread
original_directory = Dir::pwd
Dir::chdir(original_directory)
system obsługuje: chdir argument, który pozwala określić jego katalog roboczy:
wyjścia '/ tmp'
źródło
Służy
Dir.chdir
do zmiany katalogu roboczego dla skryptu.źródło
Użyj Dir.chdir („[aString]”)
źródło
Dlaczego nie możesz tego zrobić w ten sposób:
źródło
Następujące wiersze mają ten sam wynik:
możesz także uruchomić railsy i stworzyć aplikację (może to być pomocne w testach rspec itp.):
i kiedykolwiek możesz uruchomić serwer railsowy;)
źródło