User.rbRuby on Rails的,隨着年齡的增長範圍內選擇用戶從活動記錄
# Attributes
# (..)
# birthdate (string)
# format "mm/yyyy"
def age
dob = self.birthdate.to_date
now = Time.now.utc.to_date
now.year - dob.year - ((now.month > dob.month || (now.month == dob.month && now.day >= dob.day)) ? 0 : 1)
end
在控制檯:
irb(main):002:0> current_user.age
=> 7
我能做到以下幾點:
age_range = "25-65"
User.where(:age => between age_range)
我被困在如何從年齡(班級方法)獲得價值的地方到哪裏致電
如果存儲在生日作爲實際日期這會更容易得多。 –
當我將用戶年齡存儲在數據庫列中時,我有可能因過期年齡 –
的記錄而得到不好的結果,但我不建議這麼做,但如果您將生日作爲日期列存儲,那麼應該直接將年齡範圍轉換爲出生日期範圍 –