Добавление ruby-кода в скрипт / rails, который выполняется только в среде разработки rails - PullRequest
2 голосов
/ 11 января 2012

Я использую Rails 3 и мне нужно запустить WEBrick с поддержкой SSL во время разработки. Чтобы достичь этого, я следовал этому руководству:

http://www.nearinfinity.com/blogs/chris_rohr/configuring_webrick_to_use_ssl.html

Это хорошо работает, однако я хочу убедиться, что эти настройки не влияют на мое приложение rails при работе в производственном режиме. В настоящее время мы используем Apache / Passenger, и проект по-прежнему работает нормально. Однако существует ли чистый способ убедиться, что этот код даже не выполняется? Я думаю, что возможным ответом может быть блок if / end вокруг кода или встроенная функция rails, позволяющая размещать код, предназначенный только для разработки, в отдельный файл или что-то подобное.

1 Ответ

1 голос
/ 12 января 2012

Похоже, ENV ['RAILS_ENV'] твой друг.Хеш ENV показывает вам среду Unix, в которой выполняется приложение, а сам Rails будет смотреть на RAILS_ENV, чтобы решить, в каком режиме работать.Вы можете сделать что-то вроде этого:

if ENV['RAILS_ENV'].to_s == 'development' || ENV['RAILS_ENV'].to_s == ''
  # do your thing here
end

Вы также можете убедиться, что запускаете webrick в этой среде:

#> RAILS_ENV=development /path/to/webrick/script

Надеюсь, это поможет.

...