Настраивать приложение Rails для каждого прогона, а не для среды - PullRequest
0 голосов
/ 14 мая 2011

У меня есть приложение на Rails 3 с некоторыми функциями, которые я написал, что я хочу быть активным, только если я указал, что он активен только для запуска этого приложения.

Я не могуПосмотрите, как я могу это сделать с инициализаторами или стандартной структурой конфигурации, так как они установлены для каждой среды, и я не хочу, чтобы мне приходилось менять конфигурационный файл каждый раз, когда я хочу включить или отключить свою функциональность.

В идеале переключатель командной строки работал бы великолепно ...

rails server -run_my_functionality=true

... но я не вижу возможности сделать эту работу в Rails, так как он просто выбрасывает мой пользовательский аргумент как неизвестный.

Я использую JRuby для запуска своего приложения, но я не верю, что есть что-то еще, что дает мне помощь в этом.

Любой способ обойти это или кто-нибудь придумаетболее точное решение для конфигурации при запуске?

Cheers

1 Ответ

1 голос
/ 14 мая 2011

Помните, что вы можете иметь столько окружений, сколько захотите. Просто добавьте файл конфигурации в config/environments/my_env_name.rb, добавьте запись в database.yml, и вы должны быть готовы: загрузитесь в специальную среду для этой специальной работы.

Или вы можете использовать переменную окружения: DO_SOMETHING_SPECIAL=1 rails server, а затем проверить ее значение с помощью ENV['DO_SOMETHING_SPECIAL']

...