选项葡萄代表
Options grape representer
我正在与 Representers 合作 rails API,使用以下 gems:Grape, Roar and Grape-Roar
现在,我尝试添加条件以根据我从 API 端点传递的条件在我的表示中包含(或不包含)某些属性,如 here 所述(注意可表示的 gem被咆哮使用gem)
我可能忽略了一些东西,但我不知道如何将选项传递给我的代表,所以我可以根据条件呈现属性
例如,在我调用的一个葡萄端点中:
present payment_object, with: PaymentRepresenter, include_orders: true
使用 PaymentRepresenter 呈现支付对象。如您所见,我也想包括相关的付款订单,所以在我的付款代表中我尝试这样做:
property :order, extend: OrderRepresenter, if: lambda {
|args| puts args[:include_orders] #just puts for testing
}
然而 args[:include_orders] 只是 nil
有人知道我做错了什么吗?
提前致谢!
我自己也遇到了这个问题,我想出的唯一解决方案是放弃漂亮的惯用语 present..., with:...
并手动 extend
我的 collection / 与代表一起记录,就像这样 (关于你的例子):
payment_object.extend(PaymentRepresenter).to_hash(include_orders: true)
我正在与 Representers 合作 rails API,使用以下 gems:Grape, Roar and Grape-Roar
现在,我尝试添加条件以根据我从 API 端点传递的条件在我的表示中包含(或不包含)某些属性,如 here 所述(注意可表示的 gem被咆哮使用gem)
我可能忽略了一些东西,但我不知道如何将选项传递给我的代表,所以我可以根据条件呈现属性
例如,在我调用的一个葡萄端点中:
present payment_object, with: PaymentRepresenter, include_orders: true
使用 PaymentRepresenter 呈现支付对象。如您所见,我也想包括相关的付款订单,所以在我的付款代表中我尝试这样做:
property :order, extend: OrderRepresenter, if: lambda {
|args| puts args[:include_orders] #just puts for testing
}
然而 args[:include_orders] 只是 nil
有人知道我做错了什么吗?
提前致谢!
我自己也遇到了这个问题,我想出的唯一解决方案是放弃漂亮的惯用语 present..., with:...
并手动 extend
我的 collection / 与代表一起记录,就像这样 (关于你的例子):
payment_object.extend(PaymentRepresenter).to_hash(include_orders: true)