2012-10-18 27 views
0

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

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

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

回答

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 
相关问题