ID が配列に含まれていないアクティブな関係をすべて取得したいと考えています。このような:
@widgets = Widget.where("id not in (?)", [1, 2, 3])
これはうまくいきます。フィルター配列によって除外されたレコードを除く、完全な Widget テーブルを返します。ただし、フィルター配列が空の場合は機能しません。
@widgets = Widget.where("id not in (?)", [])
Widget.all に相当するものが本当に必要な場合は、"[]" を返します。
フィルター配列が空かどうかを最初にテストし、クエリを変更することで、これを回避しました。しかし、回避策はkludge
. フィルター配列が空の場合にテーブル全体を返すように、この「where」句を表現する方法はありますか?