开发者

multiple levels of associated db objects to YAML

开发者 https://www.devze.com 2023-03-09 15:16 出处:网络
I need to create a \'List\' object from the following db tables. I\'ve already done this in a rails/datamapper application, but now I have a need to get specific lists into and out of a db through YAM

I need to create a 'List' object from the following db tables. I've already done this in a rails/datamapper application, but now I have a need to get specific lists into and out of a db through YAML.

List
  Categories
    Items
      Item choices

e.g. given a list identifier, pull the initial list, the categories for that list, the items for those categories, and the choices for those items into some object, then output as a yaml file.

My first step is output a specific list to yaml, this shouldn't be a unique situation and I'm sure others have solved it before. From reading I'm guessing I need a multilevel hash of some sort, but all I've been able to do so far is get list and category...i.e. this is a bit out of my range right now, and I'm only working from the command line.

I'm asking for two things really to assist in sharpening my skill set:

  • guidance on working with a multiple level, nested hash situation to properly serial开发者_运维问答ize an object for yaml, given a series of associated db tables

  • if there is an easier way that someone has already solved.


The included to_json (doc) method already allows you to easily nest related records, and choose what you want to output :

List.all.to_json(:only => {}, :include => { 
                   :categories => { :only => {}, :include => { 
                     :items => { :only => :your_attribute_name }
                   }
                 })

The next step is to convert it to yaml :

ActiveSupport::JSON.decode(your_json).to_yaml

Hope this helps

0

精彩评论

暂无评论...
验证码 换一张
取 消