我一直关注Ryan Bates在this link关于YAML配置文件的第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行here,但我收到了相同的错误
'join', can't convert nil to String (TypeError)
当我搜索答案时,每个线程通过创建文件解决了yml文件未找到错误的问题,但我的存在并且它仍然给我错误消息。我该如何解决这个问题?
答案 0 :(得分:0)
答案在这里:Why is my Rails.root nil?
Application对象尚不存在,因此Rails.root
返回nil
。尝试将YAML配置文件放在初始化程序中,如RB推荐。