Я помещал глобальные переменные в environment.rb с моим приложением Rails 2.3.8, например:
MAX_ALLOWD_ITEMS = 6
Это не похоже, работает в Rails 3. Я попытался поместить его в application.rb, и это не помогло.
Что вы предлагаете?
Если вы уже пытались перезапустить свой сервер, как предложил Райан, попробуйте поместить его в свой application.rb
следующим образом:
module MyAppName
class Application < Rails::Application
YOUR_GLOBAL_VAR = "test"
end
end
Затем вы можете вызвать его с помощью пространства имен в ваших контроллерах, представлениях или где-либо еще. ..
MyAppName::Application::YOUR_GLOBAL_VAR
Другой альтернативой может быть использование чего-то вроде settingslogic. С помощью settingslogic вы просто создаете файл конфигурации yml и модель (Settings.rb), которая указывает на файл конфигурации. Затем вы можете получить доступ к этим настройкам в любом месте вашего приложения rails с помощью:
Settings.my_setting
Если вы действительно определяете это в config/environment.rb, как вы говорите, единственный способ воспроизвести вашу проблему — это запустить сервер, используя rails server
, , затем вставив переменную в config/environment.rb, ссылаясь на нее где-то в представлении или контроллере, а затем пытаясь загрузить эту конкретную часть моего приложения.
Если я остановлю сервер и запущу его снова, а затем снова попытаюсь получить доступ к этому представлению или контроллеру, тогда он сработает. Я полагаю, вы просто не перезапустили свой сервер.