2012-07-09 60 views
0

我想as_json搭配:除了不工作

目前,我正在做這個格式化的JSON響應一個較小的反應除去不需要的字段(即created_at和的updated_at):

friends = @user.friends 
friends.each do |f| 
    f[:name] = f.user.username # adding arbitrary attribute needed in the response 
end 
render :json => friends.as_json(:except => [:created_at, :updated_at]) 

created_at和updated_at仍然包含在回覆中,我做錯了什麼?

回答

2

:except將不處理嵌套在您的數組中的屬性。你可以使用它的實例本身:

friends = @user.friends.map do |f| 
    f[:name] = f.user.username # adding arbitrary attribute needed in the response 
    f.as_json(:except => [:created_at, :updated_at] 
end 
render :json => friends 
+0

這是有道理的,謝謝phoet!我結束了這條路線'@ user.fiends.as_json(:methods =>:name,:except => [:created_at,:updated_at])' – fridgerator 2012-07-09 17:32:30