我试图确保Ruby on Rails中的对象不是nil并且我收到此错误:
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
这是调试器中对象的样子(它不是nil):
在这种情况下,如何正确检查nil?所有案件?
我发现了一些类似的帖子但不是这个具体案例: Check for nil gives error,和 Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
答案 0 :(得分:1)
!=
比较器正在使用id
来检查相等性。因此,它会检查ob1.id != ob2.id
,或者您的map_set.id != nil.id
要检查对象是否为零,您只需检查对象是否有值。 if object
或if !object.nil?