Можем ли мы заставить рендеринг текста в двоичном виде, когда 'to_yaml'? - PullRequest
0 голосов
/ 21 июня 2010
requrie 'yaml'
hash = {:title=>'abc'}
hash.to_yaml

выведет:

--- 
title: abc

Есть ли способ заставить заголовок быть двоичным, например:

---
title: !binary|
  5Lit5pa

ОБНОВЛЕНИЕ

Я спрашиваю об этом, потому что хочу сбросить данные из базы данных в файлы yml.Но текст в базе данных содержит текст на английском и неанглийском языках, и оба могут иметь такой код:

<% xxx %>

Когда я использую rake db:fixtures:load, будет ошибка типа method xxx not found.

Я могу заменить «<%» на «<%%» перед записью в файл, но это работает только для текста на английском языке. Если есть неанглоязычные символы, содержимое будет двоичным.При загрузке назад «<%%» по-прежнему «<%%».Я не найду хорошего решения, если не смогу заставить 'to_yaml' всегда использовать 'двоичный' для текста. </p>

1 Ответ

1 голос
/ 21 июня 2010

Короткий ответ «нет».

Длинный - переопределить метод String#to_yaml (или Object#to_yaml) в вашей пользовательской реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...