0

YAML 構成ファイルに関するこのリンクで Ryan Bates による railscast #85 をたどっていますが、答えが見つからない問題に遭遇しました。RVM と Rails 3.2.6 で Ruby 1.9.3p194 を使用しています。

私のapplications.rbには、

require 'yaml'
APP_CONFIG = YAML.load_file("#{Rails.root}/config/config.yml")[Rails.env]

/config/config.yml に以下を記述します。

username: "userhere"
password: "pass"

「rails s」を試すと、エラーが発生します

/opt/local/lib/ruby1.9/1.9.1/psych.rb:297:in `initialize': No such file or directory - /config/config.yml (Errno::ENOENT)

Passengerでページを読み込もうとすると、

Error message:
No such file or directory - /config/config.yml
Exception class:
Errno::ENOENT

ここで File.join 行を試しましたが、同じエラーが発生しました

'join', can't convert nil to String (TypeError) 

答えを検索すると、すべてのスレッドがファイルを作成することで yml ファイルが見つからないというエラーの問題を解決しましたが、私のものは存在し、それでもエラーメッセージが表示されます。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

答えはここにあります: Rails.root が nil になっているのはなぜですか?

Application オブジェクトはまだ存在しないため、 をRails.root返しますnil。RB が推奨するように、YAML 構成を初期化子に入れてみてください。

于 2012-08-07T21:22:40.603 に答える