requrie 'yaml'
hash = {:title=>'abc'}
hash.to_yaml
将输出:
---
title: abc
是否有任何方法可以强制标题为二进制文件,例如:
---
title: !binary|
5Lit5pa
更新
我问这个是因为我想将数据从数据库转储到yml文件。但是数据库中的文本包含英文和非英文文本,两者都可能有这样的代码:
<% xxx %>
当我使用rake db:fixtures:load
时,会出现method xxx not found
等错误。
我可以在写入文件之前用'&lt; %%'替换'&lt;%',但它只适用于英文文本 - 如果有任何非英文字符,则内容将是二进制文件。加载回来时,'&lt; %%'仍然是'&lt; %%'。我找不到一个好的解决方案,除非我可以强制'to_yaml'总是使用'二进制'作为文本。
答案 0 :(得分:1)
简短的回答是'不'。
漫长的是 - 使用您的自定义实现覆盖String#to_yaml
(或Object#to_yaml
)方法。