Открыть файл Yaml вне каталога - PullRequest
0 голосов
/ 21 мая 2018

Я хочу иметь общий файл 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 из-за пределов каталога?

1 Ответ

0 голосов
/ 21 мая 2018
file = File.expand_path("../../test_data.yml", __FILE__)
YAML.load_file(file)

должно работать на вас.Сначала он разрешит родительский элемент текущего файла, то есть «Mobile /», затем перейдет к родительскому и добавит test_data.yml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...