0

我有一个Notification模型,其中许多列是“未读”。

我需要使用一种简单的方法在@notification 集合中查找“未读”值为假的记录。这样:

@notifications= Notification.all
@notifications.unread --> returns a subset of @notifications which are unread
@notifications.unread.count --> returns number of unread notifications

如何制作这种“未读”方法?

4

2 回答 2

3

一种方法是scope通过将以下内容添加到您的Notification类来创建一个。

scope :unread, where(unread: true)

在此处了解范围。

于 2012-11-11T13:27:24.180 回答
2

为此,您可以编写类方法范围

class Notification
  def self.unread
    where(:unread => true) # depends on your data type
  end
end

或者

class Notification
 scope :unread, where(:unread => true) # depends on your data type
end

只需调用Notification类上的方法

Notification.unread # => returns unread notifications
Notification.unread.count # => returns number of unread notifications
于 2012-11-11T13:53:28.937 回答