如何修复 Ruby on Rails obj != nil 错误
How to fix Ruby on Rails obj != nil error
我试图确保 Ruby 中的某个对象在 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.
!=
比较器正在使用 id
来检查相等性。所以它正在检查是否 ob1.id != ob2.id
,或者在你的情况下 map_set.id != nil.id
要检查一个对象是否为nil,您可以简单地检查该对象是否有值。 if object
或 if !object.nil?
我试图确保 Ruby 中的某个对象在 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.
!=
比较器正在使用 id
来检查相等性。所以它正在检查是否 ob1.id != ob2.id
,或者在你的情况下 map_set.id != nil.id
要检查一个对象是否为nil,您可以简单地检查该对象是否有值。 if object
或 if !object.nil?