Gem rails-settings-cached get timestamp?

miclle · 2013年12月23日 · 最后由 miclle 回复于 2013年12月24日 · 2508 次阅读

最近在折腾微信,在发送客服消息时会要求一个 access_token,这个通过微信提供的接口获取,通过 rails-settings-cached 实例化到数据库:

Setting.weixin_access_token = xxxx

access_token 有过期时间为 7200 秒,当我更新 access_token 时,我需要拿到上次更新 access_token 的时间,好像 rails-settings-cached 没有提供拿到 updated_at 的方法,

一。目前我的做法是先拿到那条 Setting 记录,再取更新时间

weixin_access_token = Setting.where(:var => "weixin_access_token").first
weixin_access_token.updated_at

二。当然也可以这样做:

Setting.weixin_access_token = { 
  :access_token => xxx, 
  :expires_in   => xxx, 
  :generated_at => xxx
}

不过有时候确实也有第一点中那样的需求

@huacnlee

rails-settings-cached 是用于保存设置的,你这种需求应该是用的方式来搞会更好

比如 Redis 里面存一个有过期时间的 key

需要 登录 后方可回复, 如果你还没有账号请 注册新账号