0

我一直在关注 Ryan Bates 在此链接上关于 YAML 配置文件的 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)

当我尝试在乘客中加载页面时,我得到

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 为零?

Application 对象尚不存在,因此Rails.root返回nil。尝试将 YAML 配置内容放入初始化程序中,就像 RB 推荐的那样。

于 2012-08-07T21:22:40.603 回答