0

我不确定正确的术语是什么,所以我的谷歌搜索没有太大帮助。

但无论如何,ActiveRecord 允许您搜索所有具有布尔属性 TRUE 的记录,如下所示:

@current_events = Event.current

因此,返回所有具有“当前”属性等于 TRUE 的事件。

是否有一个漂亮的 ActiveRecord 方法来返回所有错误的内容?也许是这样的:

@outdated_events = Event.not_current

?

如果没有,那么我可以使用“where”方法。但我只是好奇。

谢谢!

4

1 回答 1

1

您可能将 ActiveRecord 的“命名范围”类方法误认为是 Rails 功能。例如,

class Foo < ActiveRecord::Base
  def self.current
    where current: true
  end
end

将创建您描述的行为,但不仅仅是在Foo.current没有上述内容的情况下调用。所以要创建not_current,是的,使用where

def self.not_current
  where current: false
end
于 2012-10-03T22:22:17.063 回答