在哪里存储网站特定信息,如网站名称,管理员电子邮件等?

Bla*_*man 5 ruby-on-rails ruby-on-rails-3

在创建说cms应用程序时,网站的具体细节会因网站而异,我应该在哪里存储这些信息?

例如:网站名称,支持电子邮件,smtp设置等?

Mik*_*her 5

假设您的意思是应用程序的配置数据,这就是我的工作:

config/app_config.yml用我的配置信息创建了一个文件,如下所示:

site_name: This awesome site
support_email: me@mysite.com
Run Code Online (Sandbox Code Playgroud)

然后,在顶部config/application.rb(在第一个'require'语句的正下方),我添加:

# Load application-specific configuration from app_config.yml
require 'yaml'
APP_CONFIG = YAML.load(File.read(File.expand_path('../app_config.yml', __FILE__)))
Run Code Online (Sandbox Code Playgroud)

现在,每当我需要访问配置数据时,我都可以通过APP_CONFIG哈希来实现,如下所示:

html = "For support, please e-mail #{APP_CONFIG['support_email']}"
Run Code Online (Sandbox Code Playgroud)

注意,上面是针对Rails 3.对于rails 2,不是在application.rb中加载配置,而是将语句放入config/preinitializer.rb.

有关详细信息,请参阅http://asciicasts.com/episodes/226-upgrading-to-rails-3-part-2.