Fixnum与nil的比较失败

时间:2011-06-16 20:27:30

标签: ruby-on-rails ruby if-statement

我这样编码,

@claim = Item.find(:something)  
unless @claim.nil?  
  if @claim >= a_condition  
    do_something
  end
end

即使@claim为零值,它也会进入除非条件并给出错误“Fixnum与nil的比较失败”

我的代码有什么问题。

3 个答案:

答案 0 :(得分:8)

a_condition可能是您失败的零值。

答案 1 :(得分:3)

@claim = Item.find(:something)
unless @claim.nil?
  if @claim >= a_condition
    do_something 
  end
end

或许a_condition为零吗?

答案 2 :(得分:3)

如果unless为零,使用您发布的代码,@claim语句的内部肯定执行。如果您收到在该代码的第3行上发布的错误消息,则必须是因为a_condition为零,而不是@claim