我需要从以下数据库表中创建一个“List”对象。我已经在rails / datamapper应用程序中完成了这个,但现在我需要通过YAML将特定列表输入和输出数据库。
List
Categories
Items
Item choices
e.g。给定一个列表标识符,将初始列表,该列表的类别,这些类别的项目以及这些项目的选项拉入某个对象,然后输出为yaml文件。
我的第一步是向yaml输出一个特定的列表,这不应该是一个独特的情况,我相信其他人已经解决了它。从阅读开始我猜我需要某种多级哈希,但到目前为止我能做到的只是得到列表和类别......即。这有点超出了我的范围,我只是在命令行工作。
我要求两件事真的有助于提高我的技能:
在给定一系列关联的数据库表的情况下,使用多级嵌套哈希情况为yaml正确序列化对象的指南
如果有人更容易解决问题。
答案 0 :(得分:2)
包含的to_json(doc)方法已经允许您轻松嵌套相关记录,并选择要输出的内容:
List.all.to_json(:only => {}, :include => {
:categories => { :only => {}, :include => {
:items => { :only => :your_attribute_name }
}
})
下一步是将其转换为yaml:
ActiveSupport::JSON.decode(your_json).to_yaml
希望这有帮助