0
我需要在數據中搜索數據中包含值的字符串數組。在Active Record中執行此操作的正確方法是什麼?在Active Record中爲IN運算符定義數組值的正確方法是什麼
例如,說我有此數組:
["fluffy", "spot"]
我想要的SQL看起來是這樣的:
select * FROM Pets WHERE name IN ('fluffy', 'spot')
以下工作:
list = ["fluffy", "spot"].map { |x| "'#{x}'" }.join(', ')
Pet.where("name in (#{list})")
顯然,這是一個壞主意。什麼是正確的方法來做到這一點?有沒有辦法以這種方式使用參數,或者Active Record是否有特殊的方法?
太棒了。謝謝。 – oillio 2010-12-06 21:23:51