我会在哪里放置一个将在我的模型/视图/控制器中使用的方法/变量?

时间:2012-10-18 17:59:56

标签: ruby-on-rails

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

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

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

1 个答案:

答案 0 :(得分: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