Ruby on rails RubyonRails脚手架序列化

Ruby on rails RubyonRails脚手架序列化,ruby-on-rails,ruby,serialization,scaffolding,Ruby On Rails,Ruby,Serialization,Scaffolding,我浏览了一些Rails代码,发现模型中的一个类包含以下行:serialize:some_属性。我想构建一个包含序列化属性的新类,但我不知道该如何具体实现。我应该为serialized属性声明什么类型,即ruby脚本/generate scaffold NewClass serialized_属性:(这里应该是什么)?谢谢你的帮助 继承自ActiveRecord::Base的模型上的serialize类方法将获取该列/属性,并在保存时将其转换为YAML,在加载时则相反。它非常适合在模型中保留基本数

我浏览了一些Rails代码,发现模型中的一个类包含以下行:serialize:some_属性。我想构建一个包含序列化属性的新类,但我不知道该如何具体实现。我应该为serialized属性声明什么类型,即ruby脚本/generate scaffold NewClass serialized_属性:(这里应该是什么)?谢谢你的帮助

继承自
ActiveRecord::Base
的模型上的
serialize
类方法将获取该列/属性,并在保存时将其转换为YAML,在加载时则相反。它非常适合在模型中保留基本数组或散列对象

Rails只要求在数据库/迁移中为序列化字段使用
text
type列。因此,在迁移过程中,只需确保序列化字段具有以下内容(在本例中,
settings
):

然后在您的模型中,它应该像添加对
序列化的调用一样简单:

class Account < ActiveRecord::Base
  serialize :settings
end
类帐户
然后,当您调用
Account.new(:settings=>{:big\u head\u mode=>true,:awesome=>true})时,save
Rails将自动将
settings
hash序列化为YAML,并将其保存在数据库中


我要说的是,脚手架和这件事无关。生成scaffold之后,您仍然需要在模型中添加对
serialize
的调用。

继承自
ActiveRecord::Base
的模型上的
serialize
类方法将在保存时将该列/属性转换为YAML,在加载时执行相反的操作。它非常适合在模型中保留基本数组或散列对象

Rails只要求在数据库/迁移中为序列化字段使用
text
type列。因此,在迁移过程中,只需确保序列化字段具有以下内容(在本例中,
settings
):

然后在您的模型中,它应该像添加对
序列化的调用一样简单:

class Account < ActiveRecord::Base
  serialize :settings
end
类帐户
然后,当您调用
Account.new(:settings=>{:big\u head\u mode=>true,:awesome=>true})时,save
Rails将自动将
settings
hash序列化为YAML,并将其保存在数据库中


我要说的是,脚手架和这件事无关。生成scaffold之后,您仍然需要在模型中添加对
序列化的调用。

@coreyward它是否也适用于哈希数组?例如[{key:value},{key:value},{key:value}]@Ivan:您可以随时尝试它,但是,是的,任何可以清楚地从Yaml转换到Yaml的东西都应该序列化,这很好。@coreyward它也适用于哈希数组吗?例如[{key:value},{key:value},{key:value}]@Ivan:您可以随时尝试它,但是是的,任何可以清晰地从Yaml转换到Yaml的东西都应该序列化。