0

我正在使用grapegrape-entity在 Rails 4.2.1 项目中,并且在使用正确的模型进行演示时遇到了一个奇怪的错误。

根据文档,在每个模型中组织我的实体会导致:

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 回答