当创建一个 cms 应用程序时,其中网站的具体详细信息会因网站而异,我应该在哪里存储这些信息?
诸如:站点名称、支持电子邮件、smtp 设置等?
最佳答案
假设您指的是应用程序的配置数据,这就是我所做的:
我使用我的配置信息创建一个 config/app_config.yml
文件,如下所示:
site_name: This awesome site
support_email: me@mysite.com
然后,在 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__)))
现在,任何时候我需要访问配置数据,我都可以通过 APP_CONFIG 哈希来访问它,如下所示:
html = "For support, please e-mail #{APP_CONFIG['support_email']}"
注意,以上适用于 Rails 3。对于 Rails 2,您无需将配置加载到 application.rb 中,而是将语句放入 config/preinitializer.rb 中。
参见http://asciicasts.com/episodes/226-upgrading-to-rails-3-part-2了解更多详情。
关于ruby-on-rails - 在哪里存储站点特定信息,例如站点名称、管理员电子邮件等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5285052/