【发布时间】:2012-07-28 14:55:16
【问题描述】:
我有一个哈希:
h = {
"revision"=>7,
"rev"=>"708a4bd5b",
"thumb_exists"=>false,
"bytes"=>246000,
"modified"=>"Sun, 01 Jul 2012 17:09:15 +0000",
"client_mtime"=>"Sun, 01 Jul 2012 17:09:15 +0000",
"path"=>"/Getting Started.pdf",
"is_dir"=>false,
"icon"=>"page_white_acrobat",
"root"=>"dropbox",
"mime_type"=>"application/pdf",
"size"=>"240.2 KB"
}
我想使用以下命令将其保存在数据库中:h.to_s
然后我想从数据库中获取内容并将其作为哈希处理。
s = MyModel[:field_which_contains_hash_string]
我尝试使用YAML::load s 加载内容,但出现错误:
Psych::SyntaxError: (<unknown>): found unexpected ':' while scanning a plain scalar at line 1 column 96
我猜这是由于时间字符串中的冒号造成的。 那么持久化哈希并再次检索它的最佳方法是什么?
感谢您的帮助。 最好的, 菲利普
【问题讨论】:
-
如果你使用
YAML.load,那么不要使用h.to_s,使用h.to_yaml
标签: ruby-on-rails ruby serialization hash