這裏是我的模型:無法訪問未保存的兒童before_validation
class Receipt < ActiveRecord::Base
include ActiveUUID::UUID
belongs_to :organisation
has_many :receipt_line_items
before_validation :calculate_total_cost
private
def calculate_total_cost
self.total_cost = self.receipt_line_items.sum(:cost)
end
end
我測試過,並calculate_total_cost
不運行,但total_cost
領域是我的數據庫不變。該字段爲十進制12,2,receipt_line_items
中的cost
字段也是如此。
我後來發現,它是工作,但receipt_line_items
獲得與receipt
,果然自動的保存是後calculate_total_cost
。換句話說,當查詢數據庫的成本時,沒有任何訂單項會被保存。
有沒有辦法訪問未保存的孩子的屬性?