我认为created_at
始终设置为ActiveRecord创建的记录的时间,但我发现一些记录是使用null created_at
创建的。
有没有条件导致这个?
答案 0 :(得分:1)
这些列created_at,updated_at,created_on,updated_on将由rails自动处理。
但是,有一些注意事项:
created_at
在创建之前应为零,而在更新之前不应更改 )。否则,ActiveRecord将不会使用当前时间更新attr的值。<ClassName>.record_timestamps
是否设置为true。另外,我建议你为这些列添加非空约束:
change_column :<table_name>, :created_at, :datetime, :null => false
这样您就可以确保此列始终具有非空值。
答案 1 :(得分:1)
您是否在模型上使用attr_accessible
或attr_protected
?
因为没有这些基本保护,任何更新请求都可能设置这些未经验证的&amp;不受保护的属性。