質問: 回答よろしくお願いします。 ------------- `groups_info"=>["7,8,9"]` ``` Word.where(id:params[:groups_info]) ``` こうするとid=>7だけが取得できそれ以外が取得できない `WHERE "words"."id" IN (7,8,9)` こういうSQLが吐き出されない
回答: params[:groups_info] の値を確認してみてください。 params[:groups_info] は ["7,8,9"] でなく、[7,8,9] (あるいは ["7", "8", "9"]) となっているべきです。 参考情報 * Active Record クエリインターフェイス > > ... > > 2.3.3 サブセット条件 > > SQLのIN式を使用してレコードを検索したい場合、条件ハッシュにそのための配列を1つ渡すことができます。 > > Client.where(orders_count: [1,3,5]) > > 上のコードを実行すると、以下のようなSQLが生成されます。 > > SELECT * FROM clients WHERE (clients.orders_count IN (1,3,5)) > > >