我有一個模型,它看起來像:搜索和比較的ActiveRecord屬性找到最大值
my_diet = Diet.new
my_diet.food_type_1 = "beef"
my_diet.food_type_1_percentage = 40
my_diet.food_type_2 = "carrots"
my_diet.food_type_2_percentage = 50
my_diet.food_type_3 = "beans"
my_diet.food_type_3_percentage = 5
my_diet.food_type_4 = "chicken"
my_diet.food_type_4_percentage = 5
我需要找到其food_type具有最高的百分比。到目前爲止,我已經嘗試創建一個哈希屬性和百分比,然後排序哈希(見下文),但感覺就像有一個更乾淨的方式來做到這一點。
food_type_percentages = { :food_type_1 => my_diet.foo_type_percentage_1_percentage.nil? ? 0 : my_dient.food_type_1_percentage,
:food_type_2 => my_diet.foo_type_percentage_2_percentage.nil? ? 0 : my_dient.food_type_2_percentage,
:food_type_3 => my_diet.foo_type_percentage_3_percentage.nil? ? 0 : my_dient.food_type_3_percentage,
:food_type_4 => my_diet.foo_type_percentage_4_percentage.nil? ? 0 : my_dient.food_type_4_percentage
}
food_type_percentages.sort {|a,b| a[1]<=>b[1]}.last
任何想法?
謝謝!
什麼是你的模型真正的樣子? – jdl 2010-05-04 04:29:40
我認爲你的模型重構 - 在這裏很好的解決方案。分割'食物'和'飲食',並使'has_many'的關係。然後使用數據將變得更容易。 – fl00r 2010-05-04 10:24:44