Rails object.to_yaml の先頭にダッシュはありません
概要
すべての to_yaml 出力には、先頭に 3 つのダッシュが付いています。
---
a:
b:
c: soemthing
先頭のダッシュなしでオブジェクトを yaml に変換するにはどうすればよいですか?
解決策
内部では、to_yaml は Psych を使用してデータを解析し、出力します。
指定できるオプションのパラメータはありますが (ここにリストされています)、先頭のダッシュを抑制するものはありません。
最も簡単な方法は、ダッシュを gsub で削除することです。
object.to_yaml.gsub(/^---$/, "")
または、Ruby 2.4 以降では、delete_prefix を使用できるようになり、読み取りが少し良くなります。残ったものも処分します :
object.to_yaml.delete_prefix!("---\n")