0

我有一个变量:site_name,对于不同的站点会有所不同,但我不确定把它放在哪里,以便所有模型/视图/控制器都可以访问?这个变量应该只在服务器启动时设置一次,然后在整个站点中使用?

site_name ||= ENV['SITE'] == 'SiteA' ? "Awesome Site" : "Cool Site"

我会把这个放在哪里?在变量中?在一个方法?什么位置?

4

1 回答 1

3

通常你会把它放在config/environment.rb. 或者如果您需要根据自己的环境(生产、开发、测试)自定义变量,可以将其放在config/environments/*.rb. 这些文件在启动时是只读的,所以如果你改变了值,你需要重新启动你的 Rails 应用程序才能使它们生效。

另请注意,您应该将其格式化如下:

Myapp::Application.config.site_name = ENV['SITE'] == 'SiteA' ? 'Awesome Site' : 'Cool Site'

然后在您的应用程序中访问它:

Myapp::Application.config.site_name
于 2012-10-18T19:39:10.307 回答