Как сказать, если рельсы находится в производстве?
Я script/server -e production
для запуска рельсов в производственном режиме. И у меня нет ошибки. Однако как я могу сказать, если он находится в производственном режиме? Я попробовал несуществующий маршрут, и я получил аналогичную страницу ошибок, которую я сделал в разработке.
Я думал, что если под производственной моделью, я получаю страницу ошибки 404, которая находится в моей /общей папке.
означает ли это, что он не запустился в производственном режиме?
Спасибо за вашу помощь.
6 ответов:
2 простых способа:
tail -f log/production.log
если есть записи, заполняющие этот журнал после того, как вы попали в приложение, вы находитесь в рабочем режиме.
второй вариант:
в одном из ваших представлений (вероятно, макет хорош), просто добавьте
<%= "Environment: #{RAILS_ENV}" %>
и это покажет вам, в какой среде вы работаете.
edit
вы увидите страницу исключения по умолчанию вместо фактических страниц ошибок в любой среде, если запрос считается "локальным" (то есть от localhost или 127.0.0.1), вы можете переопределить это, добавив это в свой
ApplicationController
def local_request? false end
вы можете найти этот метод в документации в api
Если рельсы 3.1+,
Rails.env.production?
вернутсяtrue
когда в производство.Rails.env.production? #=> true Rails.env.staging? #=> false Rails.env.development? #=> false
для современных версий рельсов (3+),
Rails.env
возвращает окружение какString
:Rails.env #=> "production"
есть также полезные методы доступа для каждой среды, которые будут возвращать
Boolean
:Rails.env.production? #=> true Rails.env.staging? #=> false Rails.env.development? #=> false
мне было намного проще просто перезапустить сервер rails и прочитать вторую строку в командной строке:
под управлением
rails s -e production
выходы:=> Booting Puma => Rails 4.2.4 application starting in `production` on http://localhost:3000
был Webrick в Примере, но некоторые люди не понимали, как изменение серверов будет просто заменить имя. Обновлено для ясности.