Rails 3 + 设计:在用户注册时设置日期时间



我的用户有一个名为 :last_request_at, :null => false

的属性

我需要将此属性设置为注册/创建的当前时间。但我不知道怎么做?

也许是注册表单中的隐藏字段?如果是,那会是什么样子?或者 Devise 如何将他在注册/创建时的可跟踪属性设置为当前时间?

编辑

我把它放在用户模型中:

before_save :set_last_request
def set_last_request
  self.update_attribute(:last_request_at, Time.now)
end

但后来我得到:

stack level too deep

我会在您的控制器操作中设置该属性。堆栈级别太深的错误是因为update_attribute调用在最后save。你无限地呼唤set_last_request.

我只会在您的控制器操作中调用@record.last_request_at = Time.now,或者修改您的before_save钩子以仅执行self.last_request_at = Time.now

看看Trackable模块:

跟踪登录计数、时间戳和 IP 地址。

最新更新