很抱歉,但我根本無法讓我的頭圍繞這一點:如何在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' –