为什么Rails找不到这个自定义.yml文件?

时间:2010-11-21 04:10:15

标签: ruby-on-rails

在applications.rb中我添加了这个:

SOME_CONFIG = = YAML.load_file(File.expand_path('../some_config.yml', __FILE__))

我把文件放在:

/some/folder/myapp/config/some_config.yml

然后当我运行'rails server'时出现错误:

.. in 'initialize' : no such file or directory /some/folder/myapp/config/some_config.yml (Errno::ENDENT) .... 'open' .... 'load_file' ....

这是权限问题吗?

2 个答案:

答案 0 :(得分:1)

我不认为这是一个权限问题。

1)仔细检查拼写,确保没有拼写错误 2)尝试阅读另一个文件,看看它是否有效 3)尝试:YAML.load_file(File.join(Rails.root, 'config', 'some_config.yml'))(您的错误消息显示问题不在于扩展文件名,但您永远不知道。)
4)你可以从控制台访问它吗?

答案 1 :(得分:0)

my_data =  HashWithIndifferentAccess.new(   YAML.load(File.read(File.expand_path('../../some_file.yml', __FILE__)))   )

现在由于HashWithIndifferentAccess ,您可以使用以下任何给定的语法获取数据

my_data[:some_key] or my_data['some_key']