【发布时间】:2011-11-11 21:07:06
【问题描述】:
我有一个与用户类有 HABTM 关系的事件类。我正在尝试创建一个事件范围,其中仅包含与它关联的 2 个用户的事件。
我目前有一个 Event#status 方法,它返回以下内容:
def status
self.users.length == 2 ? "matched" : "not matched"
end
所以现在基本上我正在尝试找到如何编写一个包含所有“匹配”事件的范围。我尝试了scope :matched, self.users.length == 2,它根本不起作用,但是有没有类似的方法我错过了?
编辑:这个类方法正确地做到了这一点,但如果我可以将它封装在一个范围内,它仍然会很好。
def self.pending
Event.all.map { |e| e if e.status == "matched" }
end
【问题讨论】:
标签: ruby-on-rails ruby activerecord scope has-and-belongs-to-many