0
requrie 'yaml'
hash = {:title=>'abc'}
hash.to_yaml
将输出:'to_yaml'时,我们可以强制渲染文本为二进制文件吗?
---
title: abc
有没有方法来强制标题为二进制,如:
---
title: !binary|
5Lit5pa
UPDATE
我问这是因为我想从数据库转储数据到yml文件。但在数据库中的文本,包括英语和非英语文本,都可能有这样的代码:
<% xxx %>
当我使用rake db:fixtures:load
,会有像method xxx not found
错误。
在写入文件之前,我可以将'<%'替换为'< %%',但它只适用于英文文本 - 如果有任何非英文字符,内容将是二进制。加载回来时,'< %%'仍然是'< %%'。除非我可以强制'to_yaml'始终使用'binary'作为文本,否则我找不到一个好的解决方案。
只是一个简短的提示:您抛弃了一个很好的事实,即YAML已经定义了在将文本存储为二进制文件时要使用哪种字符编码。这使互操作性变得更加困难。 – Joey 2010-06-21 08:36:38