широкое применение глобальной переменной
В Rails , где я должен определить переменную, которая может быть распознана каждым слоем стеков Rails.
Например, я хотел бы иметь переменную CUSTOMER_NAME='John', доступ к которой можно получить в helper, грабли Задача, контроллер и Модель. Где я должен определить эту переменную в ПриложенииRails ?
Я использую Rails v2.3.2
3 ответа:
В инициализаторе в
/app/config/initializersall .файлы rb здесь загружаются, я обычно создаю один под названием preferences.РБ для таких вещей, как это.См.: http://guides.rubyonrails.org/configuring.html#using-initializer-files
Альтернативным подходом является установка ключа на объект config в
config/application.rb, например:MyApp::Application.configure do # ... config.my_key = 'some "global" value' endЗатем вы можете получить доступ к
my_keyиз любой точки вашего приложения с помощью всего этого:Кроме того, Майк Перхэм описал аналогичный, хотя и более всеобъемлющий подход в своем блоге.MyApp::Application.config.my_key