在超时注销之前向用户显示消息

我们有一个使用Devise进行身份validation的Rails 4应用程序。 我们想:

  • 在用户自动过期前1分钟向用户发送消息
  • 让用户单击此消息上的按钮以继续他/她的会话
  • 自动将用户发送到登录页面,并在他/她的会话到期时在那里显示消息

是否有任何Devise扩展或内置组件可以帮助我们实现这一目标,还是我们需要推出自己的解决方案? 如果我们自己开始,有没有任何好的教程来完成这个或关于我们可能会与之交互的Devise钩子的文档?

它看起来像我写这个答案时,没有任何gem或Devise钩子来处理这个问题,所以我不得不推出自己的组件。

编写组件最困难的部分之一是弄清楚如何向服务器发送请求以检查用户在自动注销之前有多长时间。 我不想发送该请求来重置自动注销“计时器”。 这个问题解释了我是如何处理这个任务的: 设计 – 在用户因不活动而退出之前提出请求而不重置倒计时