我有一个变量:site_name,对于不同的站点会有所不同,但我不确定把它放在哪里,以便所有模型/视图/控制器都可以访问?这个变量应该只在服务器启动时设置一次,然后在整个站点中使用?
site_name ||= ENV['SITE'] == 'SiteA' ? "Awesome Site" : "Cool Site"
我会把这个放在哪里?在变量中?在一个方法?什么位置?
我有一个变量:site_name,对于不同的站点会有所不同,但我不确定把它放在哪里,以便所有模型/视图/控制器都可以访问?这个变量应该只在服务器启动时设置一次,然后在整个站点中使用?
site_name ||= ENV['SITE'] == 'SiteA' ? "Awesome Site" : "Cool Site"
我会把这个放在哪里?在变量中?在一个方法?什么位置?
通常你会把它放在config/environment.rb
. 或者如果您需要根据自己的环境(生产、开发、测试)自定义变量,可以将其放在config/environments/*.rb
. 这些文件在启动时是只读的,所以如果你改变了值,你需要重新启动你的 Rails 应用程序才能使它们生效。
另请注意,您应该将其格式化如下:
Myapp::Application.config.site_name = ENV['SITE'] == 'SiteA' ? 'Awesome Site' : 'Cool Site'
然后在您的应用程序中访问它:
Myapp::Application.config.site_name