0

grapeRails 4.2.1 プロジェクトでandを使用grape-entityしていますが、正しいモデルを使用してプレゼンテーションを行うと奇妙なエラーが発生します。

documentationによると、各モデル内でエンティティを整理すると、次のようになります。

Grape は Entity クラスを自動的に検出し、それを使用してモデルを提示します。

さらに、ドキュメントには次のようにも書かれています。

デフォルトでは、コレクションのすべてのオブジェクトが Entity クラスのインスタンスにラップされます。

ここに私が今持っているコードがあります。

class User < ActiveRecord::Base
  class Entity < Grape::Entity
    expose :id, :name
    expose :addresses
  end
end

class Address < ActiveRecord::Base
  class Entity < Grape::Entity
    expose :id, :street1
  end
end

そうしないexpose :addresses, with: Address:Entityと機能せず、アドレスのすべてのフィールドが公開されます。正しいエンティティを自動的に検出しない理由はありますか?

4

1 に答える 1

0

これは予想される動作であることがわかりました。Grape は、モデル内にネストされたエンティティ クラスのみを検出するため、関連付けられたレコードのエンティティ クラスを使用するかどうかはわかりません。

ここに提出された機能リクエストがあります(これは私がこれを入手した場所でもあります):

于 2015-11-02T18:45:59.923 に答える