使用 rails_config 来管理配置选项
访问量: 3248
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