アクティブなジョブを作成するためにスコープを作成する必要がありましたが、これは少し奇妙に感じられ、正直なところ、PosgresSQL と密接に結合されています。
scope :active, -> { where('reviewed_at NOTNULL and paid_at NOTNULL and end_at >= ?', Date.today) }
これを別の方法で書きますか?ありがとうございました
アクティブなジョブを作成するためにスコープを作成する必要がありましたが、これは少し奇妙に感じられ、正直なところ、PosgresSQL と密接に結合されています。
scope :active, -> { where('reviewed_at NOTNULL and paid_at NOTNULL and end_at >= ?', Date.today) }
これを別の方法で書きますか?ありがとうございました
より短くより美しいバージョンは次のようになります。
scope :active, -> { where.not(reviewed_at: nil, paid_at: nil).where('end_at >= ?', Date.today) }
where.not
Rails 4で使用できます
scope :active, -> { where.not(reviewed_at: nil).where.not(paid_at: nil).where('end_at >= ?', Date.today) }