我的分期和生产环境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
关于创建不影响我的开发环境的共享配置的最佳方式的任何建议?
解决方法
在我的项目中,我有3个类似生产的环境,所以在配置/环境下我有一个名为shared_production.rb的文件,其中我放置了通用配置
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