2016-12-02 65 views
0

我正在更新所有模型以更新多個ActiceRecord關係。Rails - 更新多個活動記錄關係

但我想跳過一個屬性,如果其未提供(如果爲零或空我不想更新屬性)

def update_numbers(numbers, comment) 
     numbers.update_all (number_status: Number::STATUS_UPDATED, comment: comment if void_comment.present?) 
    end 

這顯然是行不通的,因爲它不喜歡的,如果條件。有沒有辦法不嘗試和更新評論,如果它.blank?

回答

2

這是否適合你?

def update_numbers(numbers, comment) 
    hash = { number_status: Number::STATUS_UPDATED } 
    hash[:comment] = comment if comment.present? 

    numbers.update_all hash 
end