Grape マイクロフレームワークを使用して JSON としてアソシエーションを持つアクティブ レコード モデルを返す簡単な方法はありますか?
get 'users' do
User.includes(:address)
end
このスニペットは機能せずUser.includes(:address).to_json(include: :address)
、JSON として 2 回エンコードされます。to_json
(とにかく自分でメソッドを使用するのは気分が悪いです)
Grape マイクロフレームワークを使用して JSON としてアソシエーションを持つアクティブ レコード モデルを返す簡単な方法はありますか?
get 'users' do
User.includes(:address)
end
このスニペットは機能せずUser.includes(:address).to_json(include: :address)
、JSON として 2 回エンコードされます。to_json
(とにかく自分でメソッドを使用するのは気分が悪いです)
#as_json
代わりに使用することもできます。
だからあなたはすることができます
User.includes(:address).as_json(include: :address)
これにより、json 文字列の代わりにハッシュが得られます。
これは、 grape-active_model_serializersプラグインの優れたアプリケーションのように思えます。
デフォルトでアソシエーションを埋め込むなど、オブジェクトをJSONにシリアル化することを管理し、デフォルトをオーバーライドしたい場合やオーバーライドする必要がある場合は、非常に構成可能です。