Kiedyś script/server -e production
uruchamiałem szyny w trybie produkcyjnym. Tak się stało i nie dostałem żadnych błędów. Jak jednak sprawdzić, czy jest w trybie produkcyjnym? Wypróbowałem nieistniejącą trasę i otrzymałem podobną stronę błędu, którą zrobiłem w trakcie opracowywania.
Pomyślałem, że jeśli w modelu produkcyjnym otrzymam stronę błędu 404, która znajduje się w moim folderze / public.
Czy to znaczy, że nie zaczął się w trybie produkcyjnym?
Dzięki za pomoc.
RAILS_ENV
jest przestarzały. UżyjRails.env
zamiast tego.Jeśli jego Rails 3.1+,
Rails.env.production?
powrócitrue
podczas produkcji.Rails.env.production? #=> true Rails.env.staging? #=> false Rails.env.development? #=> false
źródło
>> Rails.env
przezrails c
pojawia się, aby wyświetlić dla dowolnego trybu.Rails.env.development?
także dostępny.Rails.env
to sznurek ozdobionyActiveSupport::StringInquirer
. api.rubyonrails.org/classes/ActiveSupport/StringInquirer.htmlDla nowoczesnych wersji Railsów (3+)
Rails.env
zwraca środowisko jakoString
:Rails.env #=> "production"
Istnieją również przydatne akcesoria dla każdego środowiska, które zwrócą
Boolean
:Rails.env.production? #=> true Rails.env.staging? #=> false Rails.env.development? #=> false
źródło
Od rodzaju linii poleceń
rails console
, a następnieRails.env
.źródło
O wiele łatwiej było po prostu zrestartować serwer rails i przeczytać drugą linię w linii poleceń:
Działające
rails s -e production
wyjścia:=> Booting Puma => Rails 4.2.4 application starting in `production` on http://localhost:3000
W przykładzie był Webrick, ale niektórzy nie rozumieli, jak zmiana serwerów po prostu zastępuje nazwę. Zaktualizowano dla przejrzystości.
źródło
WEBrick
w produkcji.alternatywa dla wiersza poleceń
$ echo $ RAILS_ENV
źródło
ack