Bez wpisywania do katalogu głównego mojej aplikacji Rails, jak mogę wykonać polecenie Railsy lub Prowizja dla tej aplikacji.Jak uruchomić Railsy/Rake z innego katalogu?
Próbowałem:
bundle exec rake my_tasks:do_stuff BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile
wśród innych kombinacji, bezskutecznie.
[Aktualizacja]
Problem jest rzeczywiście dwojaka, wiązka nie wie, gdzie jest gemfile grabie i nie wie, co do uruchomienia.
Aby korzystać Bundler:
BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile bundle exec ...
Zauważ, że BUNDLE_GEMFILE musi iść przed 'bundle exec'.
Aby korzystać Zgrabiarka:
rake -f /PATH/TO/RAILS_APP/Rakefile my_task:do_stuff
Aby użyć konsoli szyn:
????
zostały jeszcze dowiedzieć się, jak wejść do konsoli Rails z innego katalogu. Patrząc na source, myślę, że to może nie być możliwe, ponieważ w końcu robi File.join ("skrypt", "szyny"), aby rozpocząć proces szyn.
Istnieje kilka dobrych odpowiedzi tutaj (http://stackoverflow.com/questions/1206545/run-rake-task-from-outside-rails-root), ale myślę, że najlepszą odpowiedzią jest prawdopodobnie to, że nie powinieneś. t to :-). O ile to możliwe, w końcu odkryjesz, że każda pojedyncza ścieżka, do której odwołuje się wywołanie rake, a nawet w wywołanych zadaniach rake'owych, wpada w pomieszanie, ponieważ spodziewają się zakotwiczenia w katalogu, z którego uruchamiane jest zadanie. –
Dobra uwaga, Tom. Tak jak mówi Bill, zadania muszą być agnostyczne wobec CWD. W przypadku małych zadań nie powinno to stanowić problemu. Dzięki! – Nejuf