1

アクティブなジョブを作成するためにスコープを作成する必要がありましたが、これは少し奇妙に感じられ、正直なところ、PosgresSQL と密接に結合されています。

  scope :active, -> { where('reviewed_at NOTNULL and paid_at NOTNULL and end_at >= ?', Date.today) }

これを別の方法で書きますか?ありがとうございました

4

2 に答える 2

2

より短くより美しいバージョンは次のようになります。

scope :active, -> { where.not(reviewed_at: nil, paid_at: nil).where('end_at >= ?', Date.today) }
于 2016-02-28T07:26:05.337 に答える
0

where.notRails 4で使用できます

scope :active, -> { where.not(reviewed_at: nil).where.not(paid_at: nil).where('end_at >= ?', Date.today) }
于 2016-02-28T07:01:42.903 に答える