ActiveRecordのrewhereメソッド
ちょっとどのような状況で使うのか、まだピンと来ないけどActiveRecordにはrewhereっていうメソッドがある。
これを使うと前に宣言していたwhere条件をoverrideすることができる。
#rewhereを使ってもその前にpointっていうカラムで条件指定してないからoverrideされない Todo.where(title: 'test').rewhere(point: 10) -> SELECT "job_cards".* FROM "job_cards" WHERE "job_cards"."type" IN ('Todo') AND "job_cards"."title" = 'test' AND "job_cards"."point" = 10 #rewhereでtitleの指定を上書き Todo.where(title: 'test').rewhere(title: 'hoge') Todo Load (0.1ms) SELECT "job_cards".* FROM "job_cards" WHERE "job_cards"."type" IN ('Todo') AND "job_cards"."title" = 'hoge'