2012-06-15 76 views
0

這與include root in json for array?類似,但略有不同。如何在包含關聯時將JSON根包含在數組中?

我有一個Alpha has_many與Beta的關聯。我將Alpha呈現爲JSON並希望包含Beta。

@alpha.as_json(:include => :beta) 

這個偉大的工程,因爲我已經include_root_in_json設置爲true,阿爾法的根被輸出。

{"alpha": 
    { 
    "created_at":"2012-06-07T23:37:30Z", 
    "id":1, 
    "beta":[ 
     { 
     "created_at":"2012-06-11T23:46:58Z", 
     "id":1, 
     } 
    ] 
    } 
} 

我想包括在測試數組中的根,但我似乎無法找到一種方法來做到這一點。

回答

0

我的解決辦法是使用Rabl的(https://github.com/nesquena/rabl)。它爲JSON提供了更好的格式控制。

0

嘗試root選項設置爲true爲聯想:

@alpha.as_json(:include => { :beta => { :root => true } }) 
+0

我試過了,但我會再試一次。也許我的括號已關閉。 – Quentamia

+0

另外,它是:根或根:? – Quentamia

+0

取決於您使用的是Ruby 1.8還是1.9哈希語法。該示例使用1.8,這將使':root'正確。我不確定這是否會奏效,我只是認爲這值得一試。你可能實際上無法做到這一點。 –