2011-10-25 17 views
1

Rails 3.1.1を使用しています。Rails 3のAPP_CONFIG ymlファイルで何が間違っていましたか?

<%= abort(APP_CONFIG[:site_url]) %> #returns: can't convert nil into String 
:これはこれは私の私もそれを中止し、私のテンプレートで site_urlを入れてみましたが、それはまだnilを返します config/application.rb

require File.expand_path('../boot', __FILE__) 

# load app_config.yml 
require 'yaml' 
APP_CONFIG = YAML.load(File.read(File.expand_path('../app_config.yml', __FILE__))) 

require 'rails/all' 

を剥奪されconfig/app_config.yml

development: &non_production_settings 
    site_url: http://localhost:3000 

の私のYAMLファイルです

どうしたのですか?ありがとう!

答えて

0

だろう持ってSITE_URL道へのアクセス

APP_CONFIG['site_url'] 
0

あなたYMLファイルがフォーマットされている方法に基づいて、結果の解析されたハッシュは次のようになります。

{"development"=>{"site_url"=>"http://localhost:3000"}} 

2行目のインデントは「SITE_URL」は階層的に「開発」の内側に落ちることができます。さらに、シンボルを介して直接アクセスすることはできません。

# config/application.rb 
require File.expand_path('../boot', __FILE__) 

require 'rails/all' 

# load app_config.yml 
require 'yaml' 
APP_CONFIG = YAML.load(File.read(File.expand_path('../app_config.yml', __FILE__)))[Rails.env] 

そして、グローバル定数にアクセス:だからあなたはフォーマットさYMLは、私は、コードを少し移動し、それに環境を追加する必要が

APP_CONFIG['development']['site_url'] 
関連する問題