4

有没有一种简单的方法可以使用 Grape 微框架返回带有 JSON 关联的 activerecord 模型?

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

此代码段不起作用,User.includes(:address).to_json(include: :address)将被编码为 JSON 的两倍。(to_json反正我自己用这个方法感觉不对)

4

2 回答 2

7

您可能想#as_json改用。

所以你可以做

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

这给了你一个哈希而不是一个 json 字符串。

于 2013-10-02T15:51:23.247 回答
3

这听起来像是grape-active_model_serializers插件的一个很好的应用程序。

它将为您管理将对象序列化为 JSON,包括默认嵌入关联,如果您想要/需要覆盖其默认值,它是非常可配置的。

于 2013-10-02T15:55:08.770 回答