相关疑难解决方法(0)

Ruby中的`try`和`&.`(安全导航操作符)有什么区别?

这是我的代码:

class Order < Grape::Entity
  expose :id { |order, options| order.id.obfuscate }
  expose :time_left_to_review do |order, options|
    byebug
    order&.time_left_to_review # ERROR
  end
  expose :created_at { |order, options| order.last_transition.created_at }
end

# NoMethodError Exception: undefined method `time_left_to_review' for #<Order:0x007f83b9efc970>
Run Code Online (Sandbox Code Playgroud)

我认为这&.是一个捷径,.try但我想我错了.可能有人指出我正确的方向,我错过了什么?

我觉得这不是红宝石相关的.葡萄可能吗?虽然我不明白它是怎么回事.

ruby if-statement ruby-on-rails nomethoderror grape-api

21
推荐指数
4
解决办法
1万
查看次数