Почему yaml.dump добавляет кавычки этой пары ключ-значение - PullRequest
0 голосов
/ 21 марта 2010

Я пытаюсь написать новую запись в rails database.yml, и по какой-то причине я получаю кавычки вокруг этой записи

db_yml => {'new_env' => {'database' => 'database_name', '<<' => '* defaults'}} File.open ("# {RAILS_ROOT} /config/database.yml", "a") {| f | YAML.dump (db_yml, f)}

возвращает

---
 new_env: 
   database: database_name
   "<<": "*defaults"

Я не знаю, почему возвращаются "---" и кавычки вокруг значений по умолчанию, есть мысли о том, как это предотвратить?

спасибо!

Ответы [ 2 ]

2 голосов
/ 22 марта 2010

<< и * имеют специальное значение в YAML. Кавычки используются, чтобы показать, что << не является <a href="http://yaml.org/type/merge.html" rel="nofollow noreferrer"> слиянием и * не является псевдонимом .

1 голос
/ 22 марта 2010

--- это просто отметка начала дампа YAML.

Двойная кавычка вокруг << это потому, что можно интерпретировать в формате YAML. Так что это побег.

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