我在Rails 4.2.1项目中使用grape
和grape-entity
,并且在使用正确的模型时遇到了一个奇怪的错误。
根据the 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
,它就不起作用,仍然会公开地址的所有字段。是什么原因它没有自动检测到正确的实体?