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

时间:2011-03-12 19:54:31

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

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

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

2 个答案:

答案 0 :(得分:5)

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

我使用我的配置信息创建一个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

答案 1 :(得分:1)

这样设置。

$ vi config/environments/development.rb
config.site_name = "Your Site Name"
config.site_url = "localhost:3000"

您也可以使用'application.rb'环境。

$ vi config/application.rb
module YourAppName
 class Application < Rails::Application
   config.site_name = "Your Site Name"

如何使用它。

<%= YourAppName::Application.config.site_name %>
@url = YourAppName::Application.config.site_url

您可以从此处检查您的AppName

$ vi config/application.rb
module YourAppName
 class Application < Rails::Application