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