为什么yaml.dump要给这个键值对加引号

发布于 2024-08-25 19:14:45 字数 389 浏览 1 评论 0原文

我正在尝试向 Rails database.yml 写入一个新条目,由于某种原因,我在该条目周围收到了引号

db_yml => {'new_env' =>; {'数据库' => '数据库名称', '<<' => '*默认' }} File.open("#{RAILS_ROOT}/config/database.yml", "a") {|f| YAML.dump(db_yml, f)}

返回

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

我不知道为什么返回“---”和默认值周围的引号,关于如何防止的任何想法?

谢谢!

I'm trying to write a new entry to a rails database.yml and for some reason I'm getting quotes around this entry

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

returns

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

I don't know why the "---" and the quotes around the defaults are returned, any thoughts on how to prevent?

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天暗了我发光 2024-09-01 19:14:45

<<和 * 在 YAML 中具有特殊含义。
引号用于表明 <<不是 合并 并且 * 不是 别名

<< and * have special meaning in YAML.
Quotes are used to show that << is not merge and * is not an alias.

落花随流水 2024-09-01 19:14:45

--- 只是标记 YAML 转储的开始。

<< 周围的双引号是因为可以用 YAML 格式解释。所以这是逃避。

the --- is just to mark the start of YAML dump.

The double quote around << it's because can be interpretate in YAML format. So it's escape.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文