0

我有一个可以创建 yaml 字符串的 javascript 函数。然后,我将该 yaml 字符串放入表单中的 hidden_​​field 中,以便在提交表单时将字符串加载到数据库列中。然后我的问题是干净地读取该列并将 yml 表示形式放入一个 ruby​​ 哈希数组。我必须处理的部分内容是 \r\n 以文本形式存储在 db 列中。是的,我玩过序列化列,但由于 hidden_​​field 是文本......

我找不到一个干净的方法来做到这一点。我的 yaml 字符串大致如下所示:

chapter:
  title: foo
    rating: awful
    words: 1000
  title: bar
    rating: fun
    words: 3
4

1 回答 1

0

这不是一个好的架构。您的 YAML 代表一个对象,应存储为具有属性的对象。存储序列化数据(是的 YAML 算作序列化)是一种不好的做法。

Ruby 轻松处理 YAML

如果您使用的是 ruby​​ 1.8.X,则需要 psych gem

http://rubygems.org/gems/psych

例子:

require 'rubygems' #necessary only for 1.8.X
require 'yaml'

##Load a YAML string into a ruby Hash
ruby_hash = YAML.load(my_yaml_string)

##Get YAML string from ruby Hash
yaml_string = YAML.dump(ruby_hash)
于 2012-06-25T01:57:41.887 回答