Ruby on rails 如何在Desive on Rails 3的用户模型中添加创建的_at
在我的用户模型中没有创建的_at列Ruby on rails 如何在Desive on Rails 3的用户模型中添加创建的_at,ruby-on-rails,devise,Ruby On Rails,Devise,在我的用户模型中没有创建的_at列 => ["id", "email", "encrypted_password", "reset_password_token", "reset_password_sent_at", "remember_created_at", "sign_in_count", "current_sign_in_at", "last_sign_in_at", "current_sign_in_ip", "last_sign_in_ip"] 所以我创造了它。但我不知道在创
=> ["id", "email", "encrypted_password", "reset_password_token", "reset_password_sent_at", "remember_created_at", "sign_in_count", "current_sign_in_at", "last_sign_in_at", "current_sign_in_ip", "last_sign_in_ip"]
所以我创造了它。但我不知道在创建新用户时,在created_at列中哪里可以添加时间戳。
有什么想法吗?谢谢~
│ ├── users
│ │ ├── _form.html.haml
│ │ ├── _user.html.erb
│ │ ├── create.js.erb
│ │ ├── edit.html.erb
│ │ ├── index.html.haml
│ │ ├── new.html.erb
│ │ ├── runtime_update_user.js.erb
│ │ └── show.html.erb
如果用户模型的ur迁移包含“t.timestaps”,则会自动创建“创建时间”和“更新时间”字段。如果可以,请修改迁移并从开始重置db。或者,添加如上所述的基于日期时间的字段。创建或更新对象时,ActiveRecord将自动管理这些字段 在您的用户模型中执行以下操作:-
before_create :add_created_at
private
def add_created_at
self.created_at= Time.now
end
简而言之,如果添加列,时间戳将自动保存。但是,对于您的旧记录,您无能为力,所以要么自己填写,要么留下。