Rails3.1 の initializers でコンフィグファイルを読み込む
config/app_config.yml という名前でファイルを作って config/initializers/app_config.rb から呼び出す時に
APP_CONFIG = YAML.load(File.open(Rails.root + '/config/app_config.yml'))
で読めるかなと思ったのですが、うまくいかない模様。Rails.root は String クラスだと思っていたのですが、実際には Pathname クラスのオブジェクトのようです。
http://corelib.rubyonrails.org/classes/Pathname.html
このようなケースでは、一旦ファイルパスを作成してから開くとうまくいきます。
config_file = File.join(Rails.root, 'config', 'app_config.yml') APP_CONFIG = YAML.load(File.open(config_file))
参考までに app_config.yml が以下のようになっている場合
:hoge: :fuga: "piyo"
上記のコンフィグをロードすると
APP_CONFIG[:hoge][:fuga]
と指定すると "piyo" という値を得る事ができます。