救援不能被强迫进入浮动状态。错误

时间:2014-07-21 15:54:25

标签: ruby-on-rails ruby

我正在寻找一种方法来拯救这样的错误。我正在浏览一些遗留项目,下面的方法中的第三行显示导致系统因此错误而崩溃nil can't be coerced into Float

  def apply_discount_if_positive(price)
    if price > 0.0
   (price - (price * base_client_discount)).round(2)
    else
      price
    end
  end
但是,我不明白的是,这是。

我知道这不是一个理想的解决方案,但即使我在条件声明之前添加price.to_f它仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

我只是在做第3行之前检查折扣是否为零,这样的事情应该有效:

def apply_discount_if_positive(price)
    if price > 0.0 && base_client_discount
     (price - (price * base_client_discount)).round(2)
    else
      price
    end
end