我在Rails 4.2.1项目中使用grape和grape-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,它就不能工作,并且仍然公开地址的所有字段。它没有自动检测到正确的实体吗?
发布于 2015-11-02 18:45:59
原来这是预期的行为。葡萄只检测嵌套在模型中的实体类,因此它不知道使用任何关联记录的实体类。
有一个提交了这里的特性请求(这也是我从这里得到的):
https://stackoverflow.com/questions/33339384
复制相似问题