2011-04-19 24 views
1

的一部分,我有一個Rails服務器將數據返回到自己的移動應用程序的JSON,如下,返回基於ID的擴展記錄,因爲JSON結果

在控制器,

format.json { render :json => @game }

返回,

{"game":{"created_at":"Thu, 14 Apr 2011 11:14","title":"Banana throwing","updated_at":"Thu, 14 Apr 2011 11:16","id":5,"day":"2011-07-14","location_id":5}}

返回的記錄包括從「遊戲」表到另一個表的引用,「位置」 ,特別是該表中ID爲5的條目。

現在,我的移動應用程序可以跳過一些箍環來解決另一個表中的location_id,但如果最初返回的JSON已經解決了location_id值幷包含了在原來的結果擴大「位置」的記錄,像,

{"game":{"created_at":"Thu, 14 Apr 2011 11:14","title":"Banana throwing","updated_at":"Thu, 14 Apr 2011 11:16","id":5,"day":"2011-07-14","location":{"place":"Buckingham Palace"}}}

...其中在位置表的5號條目已被擴展爲嵌套的JSON。

是否有可能做到這一點在服務器端,如果又如何?

任何與此有關的幫助將非常感激。

謝謝。

回答

5

嘗試:

format.json { render :json => @person.to_json(:include => [:location]) } 

對不起,簡潔的反應,但to_json:include是相當多了。我剛剛沒有在控制器中測試過它,但是在控制檯上給它一下,並且沒問題。

+0

太棒了!這就是它。這不是我第一次被簡單而強大的Rails抓住了。非常感謝您的回覆,非常感謝。 – Snips 2011-04-19 00:19:53