我正在浏览一些Rails代码,并注意到模型中的一个类包含以下行:serialize:some_property。我想搭建一个包含序列化属性的新类,但我不知道如何完成它。我应该为序列化属性声明什么类型,即红宝石脚本/生成脚手架NewClass serialized_property :(应该到哪里)?谢谢你的帮助!Ruby on Rails脚手架序列化
0
A
回答
4
在继承自ActiveRecord::Base
的模型上的serialize
类方法将保存该列/属性并将其转换为YAML,并在加载时执行相反操作。将模型中的基本数组或散列对象保存起来非常棒。
Rails只需要在序列化字段的数据库/迁移中使用text
类型的列。因此,在你迁移,只是确保你已经在你的序列化的字段之后(在这种情况下,settings
):
create_table :accounts do |t|
t.text :settings
end
然后在你的模型应该如添加调用serialize
简单:
然后,当你调用Account.new(:settings => { :big_head_mode => true, :awesome => true }).save
时,Rails会自动将settings
散列序列化到YAML中,并将其保存到数据库中。
而且要清楚的是,脚手架与此事无关。生成脚手架后,您仍然需要在模型中添加对serialize
的呼叫。
相关问题
- 1. Ruby on Rails attr_accessible和脚手架
- 2. Ruby on Rails脚手架社区资源
- 3. 更改Ruby on Rails脚手架订单
- 4. Ruby on Rails的脚手架LoadError
- 5. Ruby on Rails的脚手架错误
- 6. Ruby on Rails脚手架开发插件
- 7. Ruby On Rails脚手架没有respond_to
- 8. 入门Ruby on Rails的 - 脚手架
- 9. Ruby on Rails 3上的任何好的Ruby on Rails Ajax脚手架生成器?
- 10. 脚手架和手动更新Ruby on Rails的属性howto?
- 11. Ruby on Rails序列化散列对象
- 12. Ruby on Rails的:序列化UTF8问题
- 13. Ruby on Rails对象序列化
- 14. 从Ruby on Rails序列化的NoMethodError
- 15. Ruby on Rails助手
- 16. Ruby on Rails新手
- 17. 有没有人真的使用Ruby On Rails脚手架?
- 18. Django有没有足够的脚手架? (A Ruby on Rails)
- 19. Ruby on Rails中的“脚手架”是什么意思?
- 20. 为什么脚手架不能在Ruby on Rails中工作?
- 21. Ruby on Rails不会使用脚手架删除
- 22. Netbeans 6.5上的Ruby on Rails脚手架6.5
- 23. 为什么Ruby on Rails专业人员不使用脚手架?
- 24. Ruby on Rails的脚手架用的DB头
- 25. Ruby on Rails - 自制脚手架不起作用
- 26. Ruby on Rails脚手架 - 修改显示方法
- 27. 关于Ruby on Rails中的控制器和脚手架
- 28. Ruby on Rails - 如何在脚手架上创建外键
- 29. 如何让Ruby on Rails输出Bootstrap v3脚手架?
- 30. Ruby on Rails中的复合实体脚手架
谢谢!一切都很好。 – hassaanm 2011-03-10 02:39:27
@coreyward它也适用于哈希数组吗?例如[{key:value},{key:value},{key:value}] – Ivan 2011-09-04 09:57:22
@Ivan:你总是可以试试它,但是是的,任何干净地转换成Yaml的东西都应该顺序化。 – coreyward 2011-09-04 18:46:40