HashやArrayなどをデータベースに保存するには

HashやArrayをデータベースの1カラムとして保存したときに,それを元のHashやArrayに戻すには,YAML.load を使う.

と言うのも,保存されるときに to_yaml で YAML 化されるので,それを戻せばいいだけの話.

item = Item.new
hash = {:hoge => "foo", :bar => "baz"}
item.data = hash
item.save
item.reload
pp YAML.load(item.data) # => {:hoge => "foo", :bar => "baz"}
 
comments powered by Disqus