刚接触轮胎并试图弄清楚如何在我的个人资料模型中搜索 DOB(出生日)列。
- 尝试建立一个简单的搜索,我可以设置 age_from 和 age_to (比如 20 到 60 )
- 由于我只有一个 dob 字段,我该怎么做?
- 在创建记录时计算年龄并将其存储在列中并将其添加到我的 Profile 模型以清理搜索是否会更好?
对此最好的方法是什么?谢谢
刚接触轮胎并试图弄清楚如何在我的个人资料模型中搜索 DOB(出生日)列。
对此最好的方法是什么?谢谢
如果您的模型有一个 dob 字段,那么您可以像这样进行查询:
Profile.where(:dob => date_from..date_to)
您可以通过执行类似date_from
和date_to
Date.today-18.years
Date.today-24.years
要使用范围,您可以执行以下操作:
scope :age_from, lambda { |age|
{ :conditions => ["profiles.dob >= ?", DateTime.now << (12* age)] }
}
scope :age_to, lambda { |age|
{ :conditions => ["profiles.dob <= ?", DateTime.now << (12* age)] }
}