if SOMETHING
charge = Object (this object has a method ID)
end
DiffObject.update_attributes(specific_attribute: charge.id)
但很明顯,如果SOMETHING
沒有評估到true
然後我不需要進行任何更新,或在我的情況,我想可能更容易只是一個update_attributes
與specific_attribute:nil
流線型紅寶石:基於更新的對象屬性僅當對象不是零
所以我現在所擁有的是這樣運行的:
DiffObject.update_attributes(specific_attribute: ((defined? charge) == nil ? nil : charge.id)))
但東西告訴我有這樣做
的一種更好的方式
yes但是在這種情況下,由於'charge'沒有被定義,所以'charge.id'會拋出一個錯誤,這就是我現在需要看到的 – james
啊。在這種情況下,你可以使用'try'。將編輯我的答案。 –
看到我對下面的其他答案的評論,如果'charge'沒有定義更好的 – james