El *_*ino 2 ruby datetime ruby-on-rails
我正在尝试编写一个rails应用程序,但目前显示的出生日期显示为正常的日期格式,但我很乐意在视图中显示年龄而不是
我在控制器中的方法如下,我的数据库中有一个列DOb用于出生日期
def age
@user = user
now = Time.now.utc.to_date
now.year - @user.dob.year - (@user.dob.to_date.change(:year => now.year) > now ? 1 : 0)
end
Run Code Online (Sandbox Code Playgroud)
它显示像DOB:23/5/2011,但我希望它可以在几年内成为年龄.
我如何设置一个验证器,检查年龄是否低于18岁?
对于验证器,您可以使用自定义方法:
validate :over_18
def over_18
if dob + 18.years >= Date.today
errors.add(:dob, "can't be under 18")
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7181 次 |
| 最近记录: |