0

正しい用語がわからないので、グーグルはあまり役に立ちませんでした。

とにかく、ActiveRecord を使用すると、ブール属性 TRUE を持つすべてのレコードを次のように検索できます。

@current_events = Event.current

そのため、属性「current」が TRUE に等しいすべてのイベントが返されます。

FALSE をすべて返す気の利いた 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 に答える