Существует ли СУХОЙ способ передачи переменных связывания в AR-связь?
У меня есть такой код:
t = "%#{term}%"
where('name like ? or email like ? or postcode like ?', t, t, t)
Как вы можете видеть, он выполняет поиск по нескольким полям.
Есть ли способ избежать дублирования т? Это заставляет меня чувствовать себя грязным.
Спасибо
2 ответа
Решение
Вы можете сделать это с указанным заполнителем:
where('name LIKE :name OR email LIKE :name OR postcode LIKE :name', :name => t)
Часто это лучший способ повторить единственное значение в запросе несколько раз.