Вам действительно нужно find_by_sql
?Поскольку вы выполняете SELECT *
и предполагаете, что ваш метод находится на модели Car
, лучшим способом будет:
class Car < ActiveRecord::Base
def self.showcars(*cars)
where('car in :cars', :cars => cars)
# or
where(:car => cars)
end
end
Обратите внимание на *
сразу после имени параметра ...Используйте его, и вам не нужно будет писать код для преобразования одного параметра в массив.
Если вам действительно нужно find_by_sql
, попробуйте написать его следующим образом:
def self.showcars(*cars)
find_by_sql(['SELECT * FROM cars where car in (?)', cars])
end