niki12260714の日記

フリーランスのITエンジニアの呟き。

Ruby学習23日目:Betweenの書き方

今月はイベント三昧でこっちにあんま手を付けられなかった……。
それが分かっているから先月中になんとかしたかったんですが、まぁ仕方ない。

さて今日からブラックリストの編集。
ブラックリストに載る人は「引き取りに来ていない人」、あるいは「引き取り時に問題があった人」となります。
※引き取り時に問題があった人は、QRコード読み込んだ画面で、引き取りチェック時にサークル側がチェック付けてます
この人たちのリストを出すわけですが、この処理はイベント終了後の1週間以内としたい。
つまり、アイテムの頒布日が本日より1週間以内となります。
これをスコープで定義。

scope :within_1w, ->{
where(sale_date: [1.weeks.ago..Time.now])
}

[]でくくってあげて、「..」で繋げてあげるとbetweenの意味になります。
railsのルールだと思うんですが、意外に探すのに手間取ったので、メモ。