[英]How to get the highest value from a child association
我有一個has_many個項目的訂單模型。
app/models/order.rb
class Order < ActiveRecord::Base
has_many :items
before_save :set_status
enum item_status: [:one, :two, :three]
private
def set_status
self.items.each do |i|
self.item_status = i.item_status if i.item_staus > self.item_status
end
end
end
兩種模型都具有相同的“ item_status”枚舉和屬性。
我認為比較不起作用,因為它不是比較實際的INT值,而是比較枚舉字符串值。
我怎樣才能解決這個問題?
您應該只使用maximum
來執行數據庫中的查詢,而不是使用存儲的整數值而不是在執行比較的ActiveRecord
包裝的記錄中再次使用符號:
def set_status
self.item_status = self.items.maximum(:item_status)
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.