23

我的登台和生产环境 Rails 配置 99% 相同,只是设置了一些不同的东西(例如日志级别),我真的很想消除两个环境文件之间的重复。

例如,我有这样的事情:

# config/environments/staging.rb
MyApp::Application.configure do
  config.cache_classes = true
  config.static_cache_control = "public, max-age=31536000"
  config.log_level = :debug
  # ...
end

# config/environments/production.rb
MyApp::Application.configure do
  config.cache_classes = true
  config.static_cache_control = "public, max-age=31536000"
  config.log_level = :info
  # ...
end

关于创建不会影响我的开发环境的共享配置的最佳方式的任何建议?

4

1 回答 1

42

在我的项目中,我有 3 个类似生产的环境,所以我有一个名为 shared_production.rb 的文件config/environments,我在其中放置了通用配置

MyApp::Application.configure do
  config.cache_classes = true
  config.consider_all_requests_local = false
  #more shared configs
end

然后在每个环境特定的配置文件(production.rb,staging.rb,testing.rb)我做

require File.expand_path('../shared_production', __FILE__)
MyApp::Application.configure do
  config.log_level = :debug
  #more environment specific configs
end
于 2013-08-16T17:05:23.540 回答