很抱歉,但我根本无法让我的头围绕这一点:如何在nil上运行第一种方法?
class Customer < ActiveRecord::Base
def self.first_one
order(:created_at).first.id
end
end
该函数返回上面的第一个客户的id
如果有客户在数据库中。
但是,如果没有,它会给我一个错误,因为id
不能在nil
上运行。
有人可以告诉我如何更改该函数,因此即使数据库中没有任何客户,它也会返回nil
?
感谢您的任何帮助。
谢谢,回答我的问题。 – Tintin81
从ruby 2.3.0开始,你可以执行'order(:created_at).first&.id' – Ursus
只需注意,安全导航操作符('&.')只跳过'nil'但识别'false' –