mam hash:Jak można serializować - deserializować skrót, aby zapisać go w bazie danych?
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"
}
Chciałbym zapisać go w bazie danych za pomocą następującego polecenia: h.to_s
Następnie chciałbym uzyskać zawartość z bazy danych i pracować z nim jak hash.
s = MyModel[:field_which_contains_hash_string]
Próbowałem załadować zawartość z YAML::load s
ale pojawia się błąd:
Psych::SyntaxError: (<unknown>): found unexpected ':' while scanning a plain scalar at line 1 column 96
myślę, że to ze względu na okrężnicy w ciągu czasu. Jaki jest najlepszy sposób na utrzymanie wartości skrótu i odzyskanie go ponownie?
Pomoc jest doceniana. Best, Philip
Jeśli używasz 'YAML.load 'następnie nie rób' h.to_s', używaj 'h.to_yaml' – aromero