Settingslogic插件
Settingslogic是binarylogic系列插件之一,作者还写了其它一些小插件,如:authlogic,searchlogic, memorylogic等。使用Settingslogic插件可以用XML文件来对程序进行一些配置。基于Ruby,适用于任何Ruby及其框架开发的程序,当然包括Rails。使用起来非常简单,简要总结一下:
安装:
修改Gemfile,添加
gem 'settingslogic'
执行bundle install,会自动下载安装最新版。
使用:
1. 建一个rb文件,内容如下:
class Settings < Settingslogic source "#{Rails.root}/config/settings.yml" namespace Rails.env end
文件名随意取,可以保存在任何地方,一般我们放在app/models/settings.rb
2. 建配置文件:
# app/config/settings.yml defaults: &defaults cool: saweet: nested settings neat_setting: 24 awesome_setting: <%= "Did you know 5 + 5 = #{5 + 5}?" %> development: <<: *defaults neat_setting: 800 test: <<: *defaults production: <<: *defaults
3. 获取配置信息
>> Rails.env => "development" >> Settings.cool => "#<Settingslogic::Settings ... >" >> Settings.cool.saweet => "nested settings" >> Settings.neat_setting => 800 >> Settings.awesome_setting => "Did you know 5 + 5 = 10?"
如果你讨厌Settingslogic,想自己写,也非常简单。
参照:Railscasts
# config/initializers/load_config.rb APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml")[RAILS_ENV] # application.rb if APP_CONFIG['perform_authentication'] # Do stuff end