7

在葡萄实体中,我只想在没有运气的情况下显示一个字段(不是零?)。

我正在尝试此代码,但根本无法按预期工作,但始终隐藏该字段。

expose :winner, :using => PlayerEntity, :unless => { :winner => nil }

我认为代码本身解释了我真正需要的东西,但正如我所说,我没有得到预期的结果。

有什么线索吗?

4

2 回答 2

11

好的,检查grape-entity 的代码我发现你需要将此块作为Ruby Proc 传递。此代码将按预期工作:

expose :winner, :using => PlayerEntity, :unless => Proc.new {|g| g.winner.nil?}

希望它可以帮助某人。干杯

于 2014-02-22T06:22:44.903 回答
3

https://github.com/ruby-grape/grape-entity#expose-nil

Grape Entity 现在提供expose_nil选项,所以这应该可以解决问题:

expose :winner, :using => PlayerEntity, expose_nil: false
于 2019-03-05T08:43:16.140 回答