Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 当用户再次登录时,在仪表板上显示自上次登录以来的新项目_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.1 - Fatal编程技术网

Ruby on rails 当用户再次登录时,在仪表板上显示自上次登录以来的新项目

Ruby on rails 当用户再次登录时,在仪表板上显示自上次登录以来的新项目,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,如果有人能解释一下如何完成这项工作,或者它将如何工作,或者甚至为我指明一个方向, 我想显示一个通知,上面写着“新评论”是自用户上次登录以来发表的。下次登录时,此通知将显示在仪表板上 我在某个地方读到,我可能需要在用户表中创建一个“last_action”列,但在那之后,他们没有做太多澄清 是的,您在users表中添加了另一列,即last\u action\u at。当用户执行任何活动(导航到页面、单击按钮等)时,您会将操作的时间写入该字段 然后,当他登录时,您获取该值(这将是他上次访问中最后一次

如果有人能解释一下如何完成这项工作,或者它将如何工作,或者甚至为我指明一个方向,

我想显示一个通知,上面写着“新评论”是自用户上次登录以来发表的。下次登录时,此通知将显示在仪表板上


我在某个地方读到,我可能需要在用户表中创建一个“last_action”列,但在那之后,他们没有做太多澄清

是的,您在
users
表中添加了另一列,即
last\u action\u at
。当用户执行任何活动(导航到页面、单击按钮等)时,您会将操作的时间写入该字段


然后,当他登录时,您获取该值(这将是他上次访问中最后一次操作的时间),并选择所有在处创建的注释大于该值。现在,您拥有了呈现该
通知所需的所有数据

但问题是,一旦用户执行新操作,最后一个操作将被覆盖,并且您无法返回到用户应该具有的任何通知(除非他足够聪明,能够返回浏览器-依赖缓存)。要解决此问题,请在日期执行最后一个_action_,并将其放入用户会话中,并在会话期间引用该会话字段以计算用户通知。