我希望在主文件夹内的所有目录中都有一个内置配置的公共Yml文件。
我有一个名为ROMauto
的文件夹和一个名为Mobile
test_data.yml
存储在Mobile
目录之外,但存储在ROMauto
内。
我想从test_data.yml
文件夹中访问此Mobile
。我可以在ROMauto
内部进行同样的操作,因为它来自同一目录。
如何阅读其目录外的YAML
?
我用
尝试了@datasource = YAML.load_file("test_data.yml")
YAML::load(File.open('ROMauto/test_data.yml)'))
fn = File.dirname(File.expand_path(FILE)) + '../../test_data.yml'
YAML::load(File.open(fn))
YAML::load_file(File.join(File.dirname(File.expand_path(__FILE__)), 'test_data.yml'))
来自Mobile
文件夹,它仍然会抛出这个名为:
No such file or directory @ rb_sysopen - test_data.yml (Errno::ENOENT)
有没有办法从目录外调用和读取YAML?
答案 0 :(得分:1)
file = File.expand_path("../../test_data.yml", __FILE__)
YAML.load_file(file)
应该适合你。首先,它将解析当前文件的父级,即' Mobile /',然后转到父级,并附加test_data.yml。