2013-03-08 90 views
0

呈現,所以我有這一段代碼:過濾JSON在導軌3

render :json => { :objects => @object.object_children } 

這工作。但我只想要的只是某些屬性。我看到這一點:filter json render in rails 3並在它是這樣的:

respond_to do |format| 
format.json { render json: @objects.object_children, :only => [:id, :name] } 
end 

它的工作原理,但它沒有一個標籤返回的數據,就像這樣:

id":null,"name":"foo" 

我希望「:對象=>」標籤在裏面。由於

回答

1

你有你原來的解決方案與您找到一個結合:

render :json => { :objects => @object.object_children.as_json(:only => [:id, :name]) } 

編輯:解釋

在你原來的解決方案,您」重新手動添加密鑰:objects =>到響應。

render :json => @object.object_children 
# vs 
render :json => { :objects => @object.object_children } 

所以要加你必須做相同的,但然後調用as_json(這是Rails的將用於簡單地返回整個集合做)的關鍵過濾器返回的屬性與:only選項申請手動過濾。

如果您使用respond_to塊取決於您的需求。