ruby-on-rails - 在哪里存储站点特定信息,例如站点名称、管理员电子邮件等?

标签 ruby-on-rails ruby-on-rails-3

当创建一个 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/

相关文章:

ruby-on-rails - 混合单选按钮和 text_field

ruby-on-rails-3 - 如何在 Rails 3 中使用 Rspec 2 测试路线?

ruby-on-rails - config.action_controller.asset_path_template -- 未定义的方法?

mysql - 在 rails Controller 中使用名字、姓氏的组合来排序结果

ruby-on-rails - heroku上的自定义时钟进程

ruby-on-rails - 使用基本身份验证的 HTTParty 获取请求

ruby-on-rails - 为什么 Array#grep 抛出带有斜杠的语法错误?

css - 如果选择了某个元素,如何在 rails 中使用变量设置 css 样式?

ruby-on-rails - Resque,Resque 服务器,在 RedisToGo 上与 Heroku

ruby-on-rails - 从 Rails 3 中的 JSON 响应中获取数据