I think created_at
总是设置为ActiveRecord创建记录的时间,但我发现有些记录是用null创建的created_at
。
有什么条件可以导致这种情况吗?
这些列created_at、updated_at、created_on、updated_on 由rails 自动为您处理。
但是,有一些注意事项:
- 不要更改 attr 的值(即
created_at
创建之前应该为零 and 更新前不应更改)。否则,ActiveRecord 不会用当前时间更新 attr 的值。
- 检查您的
<ClassName>.record_timestamps
设置为 true。
另外,我建议您向这些列添加非空约束:
change_column :<table_name>, :created_at, :datetime, :null => false
这样您就可以确保该列始终具有非空值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)