我正在瀏覽一些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