широкое применение глобальной переменной
В Rails , где я должен определить переменную, которая может быть распознана каждым слоем стеков Rails.
Например, я хотел бы иметь переменную CUSTOMER_NAME='John'
, доступ к которой можно получить в helper, грабли Задача, контроллер и Модель. Где я должен определить эту переменную в ПриложенииRails ?
Я использую Rails v2.3.2
3 ответа:
В инициализаторе в
/app/config/initializers
all .файлы 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