2012-07-30 14 views
9

Ben karma vardır:Nasıl seri hale getirebilirim - bir veritabanını veritabanına kaydetmek için bir seriyi deserialize edebilir miyim?

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" 
} 

aşağıdaki komutla bir veritabanında kaydetmek istiyorum: h.to_s Sonra veritabanındaki içeriği almak istiyorum ve karma olarak onunla çalışmak.

s = MyModel[:field_which_contains_hash_string] 

Ben YAML::load s ile içerik yüklemek için çalıştı ama bir hata alıyorum: nedeniyle zaman dizesinde kolona

Psych::SyntaxError: (<unknown>): found unexpected ':' while scanning a plain scalar at line 1 column 96 

ben olduğunu tahmin. Peki, hashı sürdürmenin ve onu tekrar almanın en iyi yolu nedir?

Yardım memnuniyetle karşılanır. En İyi, Philip

+0

kullanarak sütuna tefrika edilecek

my_model = MyModel.new my_model.column_name[:key] = value my_model.column_name[:key] 

'' h.to_s' yapmayın, 'h.to_yaml' – aromero

cevap

İlgili konular