我在公司模型的序列化列:如何编辑表单textarea的序列化的哈希列
class Company < ActiveRecord::Base
serialize :names
理想我希望它在数据库中像这样不同的名称保存:
---
short: bestbuy
long: bestbuy ltd.
目前在我公司#编辑页面,我有这方面的文本区域:
<%= f.text_area :names %>
如果我有YAML在数据库中,该宏将会L为显示在浏览器为:当我提交
{"short"=>"bestbuy", "long"=>"bestbuy ltd."}
然而,在数据库中它变成了:
--- ! '{"short"=>"bestbuy", "long"=>"bestbuy ltd."}'
问题
我怎样才能让这个textarea显示YAML供编辑编辑?
如何让数据库保存正确的YAML,而不是YAML和红宝石哈希的混搭?
更新
如果我强迫列是Hash
类型是这样的:
serialize :names, Hash
它会给错误,当我试图保存:
ActiveRecord的: :Admin :: CompaniesController中的SerializationTypeMismatch#update
属性was应该是一个哈希,但一个String
我很想知道这个答案。 – pixelearth 2012-04-27 05:41:42