【问题标题】:How to make status "read" to "unread" by using unread gem?如何使用未读 gem 将状态“已读”变为“未读”?
【发布时间】:2015-02-20 04:30:16
【问题描述】:

我可以使用unread gem 标记post

post = Post.first
post.mark_as_read! for: current_user

但我找不到如何“未读”标记为“已读”的帖子。 我怎样才能做到?

【问题讨论】:

  • 只是一个猜测,您可以将read_at 设置为 nil,它会将帖子标记为未读

标签: ruby-on-rails ruby read-unread


【解决方案1】:

如果您看一下issues page for the gem on github,您会发现这里已经提出了这个问题。似乎没有官方的方法可以用 gem 做到这一点。但是,github 上的用户 firedev 提出了他的解决方案。

  def mark_as_unread_except current_user
    ReadMark.where(readable_type: self.class.class_name, readable_id: id).each(&:destroy!)
    mark_as_read!(for: current_user)
  end

这可能是您需要的。但请查看整页的评论和想法。到目前为止,还没有正式的方法可以用 gem 做到这一点。

【讨论】:

    【解决方案2】:

    我的工作方法是:

    post.read_mark(current_user).destroy!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 2018-05-20
      相关资源
      最近更新 更多