Back

使用 rails_config 来管理配置选项

发布时间: 2015-05-09 00:41:00

refer to:  https://github.com/railsconfig/rails_config

项目中很多常量 ( system constant) 都应该配置成 配置选项  (config items) 

系统常量:  在系统运行时是固定值,并且在每个开发人员的机器上都相同。 例如:black='#ffffff'

配置选项:  在系统运行时是固定值,但是在不同的开发人员机器上是不一样的。例如: mysql 用户名密码。

所以,我们要做好配置项的代码实现。

一般来说,有很多种方法进行配置选项的初始化,例如写成constant (虽然不太合适,但是最快),例如使用config/initializers 。。

但是 这几种办法都是在rails加载之后才能生效。 如果我希望某个变量在rails加载之前就生效呢?

就要用rails_config了。 不要小瞧它,它完美的解决了上面的问题。

用法

1. Gemfile:

gem 'rails_config'

2. $ bundle exec rails g rails_config:install, 会生成一堆文件, 只需要保留config/initializers/rails_config.rb ,config/settings.yml 就可以了。

# config/initializers/rails_config.rb: 
RailsConfig.setup do |config|
  config.const_name = "Settings"
end

# config/settings.yml
my_server: 'http://my.server'

4. 调用:(ruby 代码中)

puts Settings.my_server

Back