2012-05-07 21 views
0

最近我遇到了一個問題。RoR在使用to_json函數時,如何在其中包含額外的信息

我想使用Json表單在Ruby on Rails中傳輸模型信息。原始函數將僅包含此模型中的所有屬性。但是這個模型有一個子模型。通過has_many定義鏈接。

如果我需要to_json函數可以打包子模型屬性。我可以做什麼?

回答

2

例如,您可以選擇其他方法並使用JSON builder。或者只是覆蓋要更改默認行爲的模型的to_json方法。

+0

欲瞭解更多信息,您可以觀看http://railscasts.com/episodes/322-rabl,http://railscasts.com/episodes/320-jbuilder – Amar

0

要在ActiveRecord模型的JSON中包含/排除屬性,請覆蓋as_json方法。

def as_json(opts) 
    super(opts).merge(
    "other_1" => "Some value", 
    "other_2" => self.get_other_value 
) 
end 

調用super將允許您爲所有屬性包含標準JSON,然後合併您的其他屬性。或者只是爲屬性構建一個哈希。

相關問題