如何修复 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 objectif !object.nil?