ビューから渡された基準に基づいてデータベースを呼び出しているため、動的でなければなりません。
2つの配列があるとしましょう:
columns = ['col1', 'col2', 'col3']
vals = ['val1', 'val2', val3']
クエリは簡単に作成でき、次のように連結できます
query = columns[0] + " = (?) AND" + ...
しかし、パラメータはどうですか?
@finalValues = MyTable.find(:all, :conditions => [query, vals[0], vals[1]... ])
しかし、受け取るパラメータの数がわかりません。したがって、クエリの問題はfor loop
and 連結で解決されますが、次のようなことができますか?
@finalValues = MyTable.find(:all, :conditions => [query, vals])
また、Rails は、IN (?) 句に配列を渡すのではなく、値を個々の (?) 句ごとに分割することを理解します。
または、完全な生の文字列を作成してそのまま使用する唯一のオプションですか?