2013-08-24 78 views
1

我有一個Location模型,我使用Rabl以json格式呈現。我index.json.rabl看起來是這樣:返回json.rabl中兒童的數量

object false 
collection @locations 

attributes :id, :name, :address, :rating 

:評級是從記錄在Rating模型計算出一個整數(一Locationhas_manyRating,一個Ratingbelongs_to一個Location)。 但是現在我想要在Rabl文件中檢索用於計算此值的Rating模型的行數。

我想:

child :ratings do 
    attributes :count 
end 

node(:ratings_count) { |m| @ratings.count } 

但顯然它不工作...任何人都可以幫我嗎?

謝謝!

+0

您在模型評分中是否有屬性計數?我確定孩子(:YOUR_HAS_MANY_ASSOC){attributes:YOUR_ATTRIBUTE}正常工作。 – Bigxiang

+0

您的意思是說我需要手動添加評分中的計數屬性?我不能只是在某個位置的收視率集合上使用.count嗎?謝謝 ! – jbihan

+0

你是說你想在rabl中使用ratings.count? – Bigxiang

回答

4

如果我不誤解你的意思。我想你想在rabl中使用rating.count。

您已經使用「節點」關閉了答案。

node(:ratings_count) { |l| l.ratings.count } 

在節點塊中,局部變量「l」是上述集合中的一個對象。

+0

非常好,它效果很棒!我很接近,我不是爲什麼我沒有想到這一點...我仍然在學習Rails,我仍然需要理解邏輯,非常感謝! – jbihan