0

Squeel に次のクエリがあります。

languages = where{ (name == 'English') | 
 (name == 'Spanish')  | 
 (name == 'German')  | 
 (name == 'French')  | 
 ...
}

これは問題なく機能しますが、言語の追加と削除を容易にするために、これらの値を使用して配列を反復処理する方法があるかどうかを考えていました。私が作成して配列したとしましょう:

languages_array = %w[ English Spanish French ... ]

Where ブロックで Squeel を反復処理する方法はありますか?

私は成功せずに考えることができるすべてを試しました。

ありがとう。

4

2 に答える 2

3

これはうまくいくはずだと思います

where{name.in(languages_array)}
于 2013-07-10T10:40:17.527 に答える
0

squeelこのタイプのクエリは必要ありません:where(name: languages_array)必要なことは実行されます - に変換されます

WHERE name IN ('English', 'Spanish', 'French', ...)

これはおそらくあなたが必要とするものです。

于 2013-07-10T10:40:40.900 に答える