哪个是实现和显示新评论警报的更好方法/方法?

时间:2011-11-07 04:58:43

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

到目前为止,我有@comments.count,它为我提供了表格中所有评论的数量,但我需要另一列作为previous_count来与@comments.count进行比较,然后在视图上做这样的事情。

     if @comments.count is greater than previous_recorded
        display NEW COMMENT

我的问题是如何在previous_count中记录和保存@ comments.count?我想过使用会话,但我不确定这是否安全。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

可能更有意义地查看时间戳(最有可能是created_at)而不是计数。然后,每个客户端都可以跟踪他们的最后时间戳,并根据需要请求更新的评论。这样您就不必存储任何新内容或担心具有不同previous_count值的不同客户端,您可以只跟踪会话或客户端JavaScript中的时间戳或任何方便的内容。

答案 1 :(得分:1)

考虑使用日期时间而不是计数。如果删除先前的注释然后添加更多注释,则计数将会出错。如果您只存储上一个日期时间(而不是计数),那么您可以调用@comments.where(:created_at > prev_datetime).count来获取计数。至于存储“最后日期时间”,会话将是一个很好的地方,除非你希望它在设备上持久存在,在这种情况下你想要将它作为一个属性保存在例如您的用户模型。