2011-07-11 54 views
1

我很高興得知as_json使我的代碼變幹。我已將以下內容添加到模型中:Rails 3:用額外的行包裝as_json響應

class ProductType < ActiveRecord::Base 
    has_many :component_types 

    def as_json(parameter) 
    {:name => self.name, 
    :description => self.description, 
    :children => self.componentTypes} 
    end 
end 

這太好了。唯一的一點是,我的客戶端應用程序,我需要換我進入這個格式的響應,(其中,「項目」包含了什麼是as_json創建):

{ 
    "identifier": "name", 
    "label": "name", 
    "items": 
    [ 
     { 
     "name": "myName1", 
     "description": "myDesc1", 
     "children":[] 
     }, 
     { 
     "name": "myName2", 
     "description": "myDesc2", 
     "children":[] 
     } 
    ] 
} 
+0

我不明白什麼似乎是DIY :)什麼是'myModelsChildren'? – apneadiving

+0

更新了問題以顯示正確的名字......我想保持它的通用性。但是,你是。這是'product_type'(上面顯示的模型)和'component_type'之間的一對多關係。 – Paul

回答

2

有很大的侷限性,以重寫as_json,你的問題就是其中之一。我建議看看RABL寶石,因爲我認爲它會幫助你達到目標。

+0

這看起來很酷,但我實際上與'as_json'非常接近,我寧願找到一種簡單的方法來包裝它,而無需向系統添加更多的寶石。 – Paul