在jbuilder块中设置json属性为nil



我有一个场景,我想设置一个json属性为nil,如果它的对象值是nil在jbuilder块:

我现在如何做的例子: unless obj.details.nil? json.details do |json| json.value1 obj.details.value1 json.value2 obj.details.value2 end else json.details nil end 我的问题是是否有更简洁的方法来做到这一点所以我不必使用unless/else

您可以使用tapjson.nil!的组合。

json.details do
  obj.details&.tap do |details|
    json.value1 details.value1
    json.value2 details.value2
  end || json.nil!
end

json.details do
  obj.details.tap do |details|
    return json.nil! if details.nil?
    json.value1 details.value1
    json.value2 details.value2
  end
end

相关内容

  • 没有找到相关文章

最新更新