【发布时间】:2019-05-17 10:15:10
【问题描述】:
在使用 Grape Entity 时,有时我们希望从内部/相关对象中公开一些字段。我们可以通过以下方式简单地做到这一点:
expose(:bar) { |entity| entity.foo.bar }
但是,如果许多字段需要这种处理,这可能会变得非常重复。有没有办法定义委托/转发,所以一堆expose都与另一个对象相关联?
【问题讨论】:
标签: grape grape-entity
在使用 Grape Entity 时,有时我们希望从内部/相关对象中公开一些字段。我们可以通过以下方式简单地做到这一点:
expose(:bar) { |entity| entity.foo.bar }
但是,如果许多字段需要这种处理,这可能会变得非常重复。有没有办法定义委托/转发,所以一堆expose都与另一个对象相关联?
【问题讨论】:
标签: grape grape-entity
为foo 类创建一个单独的实体,我们称之为API::Entities::Foo。那么你可以
expose :foo, using: API::Entities::Foo
您必须遵循 REST 准则才能像这样进行序列化。你正在处理resources。不要将其分解为扁平、繁琐的数据结构。
【讨论】: