Mel*_*lon 14 ruby-on-rails ruby-on-rails-2
在Rails中,我应该在哪里定义可以被Rails堆栈的每一层识别的变量.
例如,我想有一个CUSTOMER_NAME='John'可以在helper,rake任务,控制器和模型中访问的变量.我应该在Rails应用程序中的哪个位置定义此变量?
我正在使用Rails v2.3.2
Pau*_*ves 15
在/app/config/initializers这里加载的所有.rb文件的初始化程序中,我通常会为这样的事情创建一个名为preferences.rb的文件.
请参阅:http://guides.rubyonrails.org/configuring.html#using-initializer-files
Mar*_*oda 15
另一种方法是在配置对象上设置一个键config/application.rb,如下所示:
MyApp::Application.configure do
# ...
config.my_key = 'some "global" value'
end
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过以下方式my_key从应用中的任何位置进行访问:
MyApp::Application.config.my_key
Run Code Online (Sandbox Code Playgroud)
此外,Mike Perham 在他的博客文章中描述了一种类似的,虽然更全面的方法.
你想要一个真正的全球常数?使用::COSTUMER_NAME.你想要一个真正的全局变量?使用$COSTUMER_NAME(气馁).你想要一个请求全局变量?使用Hash的#env方法.
| 归档时间: |
|
| 查看次数: |
20296 次 |
| 最近记录: |