Bla*_*man 5 ruby-on-rails ruby-on-rails-3
在创建说cms应用程序时,网站的具体细节会因网站而异,我应该在哪里存储这些信息?
例如:网站名称,支持电子邮件,smtp设置等?
假设您的意思是应用程序的配置数据,这就是我的工作:
我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.