我无法弄清楚我的生活为什么这个崩溃。我已经阅读了大量的stackoverflow和谷歌搜索指南,他们都说同样的事情,这就是我正在做的事情。Rails未定义的方法?
下面是代码:
current_schedule_record['next_oil_change'] = Maintenance.where("vehicle_id = ? AND maintenance_type = ?", id, 'oil change').select("kilometres").order('kilometres DESC').first.kilometres
if current_schedule_record['next_oil_change'].blank?
current_schedule_record['next_oil_change'] = current_schedule_record['next_oil_change']
else
current_schedule_record['next_oil_change'] = nil
end
基本上我想检查是否该记录存在,吐回来了,如果不返回零。
错误我得到的是:undefined method 'kilometres' for nil:NilClass
它抛出的错误,因为你正在做的查询返回任何结果。查询本身应该是有效的。 您应该检查是否有数据库中正在查找的记录。 更好的方法是在访问属性之前检查查询结果是否为零。 – yarakyo