[Ruby on Rails]ActiveRecordのwhereのカラムを変数で動的に指定する

ActiveRecordのwhere検索を繰り返し処理でカラムを動的に変更して検索したい。

[Ruby on Rails] ActiveRecordのwhereのカラムを変数で動的にする方法

ActiveRecordのwhereで配列に入っているカラム名をまわして確認したい。

条件は以下の通り。

  • テーブル名:samples
  • samples 条件指定カラム: 1_flag, 2_flag, 3_flag
  • 各カラムに1があるものを取得したい
 column = ['1_flag', '2_flag', '3_flag'] column.each do |name| Sample.where("#{name} = 1") end 

このように#nameというように書くことで動的に指定ができます。

 

何か参考になれば幸いです(*^^*)