2012-02-13 11 views
1

我正在使用受歡迎的Rabl gem在Rails中生成JSON API。但是,我很難理解如何返回HABTM協會的結果。我有一個名爲Sale的模型和一個名爲Merchandise的模型。每個都指定一個HABTM關聯。我的.rabl文件如下所示。使用Rabl返回Rails API中存在HABTM關聯的子節點

對象@sales

attributes :name, :date_start, :date_end 

child :merchandises do 
    attributes :name 
end 

我的模型被簡單地傳遞@sales = Sale.all。

儘管很多行都有有效的關係,但子項中完全沒有返回。還有什麼我需要做的嗎?

回答

3

試着檢出https://github.com/nesquena/rabl/issues/149問題。也許這樣做:

collection @sales 
attributes :name, :date_start, :date_end 
node :merchandises do |s| 
    s.merchandises.to_a.map { |m| { :name => m.name } } 
end 

看看是否有什麼更好的?

+0

謝謝 - 完美的作品。 – alpheus 2012-02-14 19:27:37