0

我的用户有一个名为 :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
4

2 回答 2

2

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

我只想调用@record.last_request_at = Time.now你的控制器动作,或者修改你的 before_save 钩子来做self.last_request_at = Time.now.

于 2012-06-18T16:43:57.137 回答
0

看一下Trackable模块:

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

于 2012-06-18T16:03:29.120 回答