如何使用“未读” Ruby gem计算未读评论?

时间:2018-07-01 21:50:56

标签: ruby-on-rails ruby

comments_helper.rb

module CommentsHelper
  def unread_comments_count
    @comments_count = Comment.unread_by(user).count
  end
end

在我的ApplicationController中,我定义了user

def user
  @user = User.find_by(params[:user_id])
end

我本可以使用current_user,但是得到的结果是数据库中的注释总数。因此,我认为我应该使用user。但这没用。

视图

<%= unread_comments_count %>

但是,结果仍然是所有用户在所有帖子上发表的所有评论的总数。我实际上无法弄清楚自己在做错什么,因为在宝石的指导下,我已经认真完成了模型中的所有操作。

我很乐意解决此问题。

更新

它生成的查询是:

 SELECT COUNT(*) FROM "comments" 'LEFT JOIN read_marks ON read_marks.readable_type = "Message" AND read_marks.readable_id = comments.id AND read_marks.reader_id = 1 AND read_marks.reader_type = 'User' AND read_marks.timestamp >= comments.created_at WHERE read_marks.id IS NULL

0 个答案:

没有答案