Ruby on rails 设计-识别上次登录的用户

Ruby on rails 设计-识别上次登录的用户,ruby-on-rails,devise,Ruby On Rails,Devise,我使用的是Rails 4应用程序,支持Desive。登录、注册(等)工作正常 我正在寻找一个系统,用于在当前浏览器中识别最后一个日志记录用户,自动填充用户名字段,并在登录页面中显示其头像 这可以通过使用cookie(存储上次登录的用户id或其他东西)轻松完成,但这个系统可能已经存在于designe中了 关于您可以借助Desive的记忆模块。最值得注意的是: User.serialize_from_cookie(cookie_string) 因此,将cookie传递到方法中,它应该返回基于该c

我使用的是Rails 4应用程序,支持Desive。登录、注册(等)工作正常

我正在寻找一个系统,用于在当前浏览器中识别最后一个日志记录用户,自动填充
用户名
字段,并在
登录
页面中显示其头像

这可以通过使用cookie(存储
上次登录的用户id
或其他东西)轻松完成,但这个系统可能已经存在于designe中了


关于

您可以借助Desive的记忆模块。最值得注意的是:

User.serialize_from_cookie(cookie_string)


因此,将cookie传递到方法中,它应该返回基于该cookie的用户对象。请注意,您需要启用rememberable(如果您不希望“记住我”勾选框建议您覆盖Desive的视图并将其删除),然后在登录时强制“记住我”为true。

您是否可以使用
user.all.sort按(&:last\u sign\u in\u at)查找上次登录的用户。
。这将根据用户上次登录站点的时间对所有用户进行排序。然后只取该关系的第一个用户。@JustinLicata我不想要所有用户中最后一个登录的用户。我想要当前浏览器的最后一个登录用户。啊,我误解了。对不起,这不是万无一失的,但是你能做到
User.where(last\u sign\u in\u ip:request.remote\u ip).order(last\u sign\u in\u at::desc).首先
获取从该ip地址登录的最后一个用户吗?@Yule我不喜欢
ip
的方法,因为它不需要输入用户的唯一性(例如本地网络)。谢谢你的提示。我试着操纵Rememberable模块,我认为它并不是专门用于这个。实际上,cookie仅用于在会话关闭后的20天内对用户进行重新身份验证。主要问题是当用户注销时cookie被删除。我已经重写了几种方法来保持这个cookie的活动状态,但是当用户注销时,他会自动登录,这不是我想要的。