【发布时间】:2019-01-11 10:38:01
【问题描述】:
我正在尝试从我的 YAML 输出中删除前导 :。这是代码和我在下面所做的:
model/attribution_channel.rb
DEFAULT_BONUS_CONFIG = {
sign_up: {
currency: 'ngn',
type: 'flat',
amount: 1000
},
visit: {
currency: 'ngn',
type: 'flat',
amount: 5
}
}
查看/form.slim.html
AttributionChannel::DEFAULT_BONUS_CONFIG.to_yaml
输出:
要从我的输出中删除 YAML 分隔符 --- 和 Leading : in the keys,这是我所做的:
AttributionChannel::DEFAULT_BONUS_CONFIG.to_yaml.gsub("---\n", '').sub(":", '')
..但.sub(":", '') 部分仅删除了第一个前导: 的:。
如何从我的 YAML 输出中删除前导 :?任何帮助表示赞赏?下面是我想要的:
sign_up:
currency: ngn
type: flat
amount: 1000
visit:
currency: ngn
type: flat
amount: 5
【问题讨论】:
-
只需调用 .to_s
-
@wasipeer 在这个 YAML 上调用
.to_s不会正常工作 -
使用 .gsub(":", '') 代替 .sub(":", '')
-
如果您不希望键成为符号,为什么在第一种情况下将它们设为符号?
-
@Jörg W Mittag 非常感谢。这就是目前的想法。但是让它符号在我看来只是看起来更干净,这就是我没有将常量设为字符串的原因。
标签: ruby-on-rails ruby ruby-on-rails-4 yaml