yml文件存在,但rails服务器和乘客抱怨它没有

时间:2012-08-07 20:26:28

标签: ruby-on-rails ruby yaml config

我一直关注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文件未找到错误的问题,但我的存在并且它仍然给我错误消息。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

答案在这里:Why is my Rails.root nil?

Application对象尚不存在,因此Rails.root返回nil。尝试将YAML配置文件放在初始化程序中,如RB推荐。