4

Grape マイクロフレームワークを使用して JSON としてアソシエーションを持つアクティブ レコード モデルを返す簡単な方法はありますか?

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

このスニペットは機能せずUser.includes(:address).to_json(include: :address)、JSON として 2 回エンコードされます。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 に答える