在我们的date_of_birth
模型中,我们有一个date
类型的User
字段。
当我尝试保存User对象时。
u = User.last
u.date_of_birth = "31-03-1987"
u.save
结果:
u.date_of_birth
=> Tue, 31 Mar 1987
但是如果我将-
替换为/
u.date_of_birth = "31/03/1987"
u.save
结果:
u.date_of_birth
=> nil
问题
这是默认行为吗?
或者我想念什么吗?
答案 0 :(得分:0)
由于date_of_birth
的格式无效,因此显然将其设置为nil。
日期时间的标准数据库格式为YYYY-MM-DD HH:MM:SS
使用postgres db获得更高版本的Rails,即Rails 3+,您不会遇到此类问题,
> u.created_at = '03/04/2017'
# => "03/04/2017"
> u.created_at
# => Mon, 03 Apr 2017 00:00:00 IST +05:30
该问题确实存在于旧版本的ruby中。我建议您更新或更改字符串日期输入的格式