我应该在environment.rb中为我的Rails项目添加常量吗?

问题描述:

我想存储我的Rails应用程序使用的特殊目录的路径。我应该将它存储在environment.rb中,还是有另一个地方呢?我应该在environment.rb中为我的Rails项目添加常量吗?

THE_DIRECTORY_PATH = '/path/to/directory' 

让我们假设我的控制器+模型或库中的/ lib也需要访问。

使用强大的YAML文件方法,允许按环境设置。尝试app_config,它有很多很棒的功能,包括提到的语法如AppConfig.the_directory_path

+0

AppConfig看起来很有趣。我讨厌全局常量,所以封装这样的东西会很棒。 – 2010-04-09 02:01:06

如果控制器需要访问它,那么更好的地方是ApplicationController

+0

可能只有他们需要访问。不确定在这一点上。但是,如果我的控制器+/lib中的模型或库需要访问,那么environment.rb会成为一个地方吗? – 2010-04-08 17:01:30

+0

关于environment.rb的一些情况只是感觉不对,除非你在不同的环境中有不同的路径。另外,看看这个配置指南中的初始化器 - http://guides.rails.info/configuring.html#using-initializers – Anurag 2010-04-08 17:15:07

+0

我有点讨厌这样的常量。你真的*有*要在每个环境中定义它们 - 几乎可以肯定的是,你需要在生产中为它们中的一个定义不同的价值。 – 2010-04-09 01:41:55

如何将它存储到由初始化程序加载的YAML配置文件中? This Railscast has the details

+0

嗯,不错。我会研究这个... – 2010-04-08 21:19:58