2013-10-02 49 views
4

有沒有一種簡單的方法來返回activerecord模型與關聯作爲JSON使用葡萄微筋框架?Activerecord關聯作爲與葡萄JSON

get 'users' do 
    User.includes(:address) 
end 

這段代碼不起作用,User.includes(:address).to_json(include: :address)將作爲JSON編碼兩次。 (對我自己來說,使用to_json方法並不覺得正確)

回答

7

您可能想用#as_json代替。

所以,你可以做

User.includes(:address).as_json(include: :address) 

,並且給你一個哈希值,而不是一個JSON字符串。

3

這聽起來像是grape-active_model_serializers插件的一個很好的應用程序。

它將管理爲JSON序列化對象,包括默認嵌入關聯,如果您想要/需要覆蓋其默認設置,則極其可配置。