grape-entity 和 has_many 需要明确的实体
grape-entity and has_many requires explicit entity
我在 Rails 4.2.1 项目中使用 grape
和 grape-entity
,我 运行 遇到了一个奇怪的错误型号。
根据 the documentation,在每个模型中组织我的实体会产生以下结果:
Grape will automatically detect the Entity class and use it to present your models.
此外,文档中还说:
By default every object of a collection is wrapped into an instance of your Entity class.
这是我现在的代码。
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
,它不起作用,仍然暴露地址的所有字段。它没有自动检测到正确实体的任何原因?
原来这是预期的行为。 Grape 仅检测嵌套在模型中的实体 class,因此它不知道使用任何关联记录的实体 class。
有一个功能请求提交 here(我也是从那里得到的):
我在 Rails 4.2.1 项目中使用 grape
和 grape-entity
,我 运行 遇到了一个奇怪的错误型号。
根据 the documentation,在每个模型中组织我的实体会产生以下结果:
Grape will automatically detect the Entity class and use it to present your models.
此外,文档中还说:
By default every object of a collection is wrapped into an instance of your Entity class.
这是我现在的代码。
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
,它不起作用,仍然暴露地址的所有字段。它没有自动检测到正确实体的任何原因?
原来这是预期的行为。 Grape 仅检测嵌套在模型中的实体 class,因此它不知道使用任何关联记录的实体 class。
有一个功能请求提交 here(我也是从那里得到的):