Я хочу сделать что-то вроде:
SELECT * FROM USER WHERE NAME LIKE '%Smith%';
Моя попытка в Ареле:
# params[:query] = 'Smith'
User.where("name like '%?%'", params[:query]).to_sql
Однако это становится:
SELECT * FROM USER WHERE NAME LIKE '%'Smith'%';
Арел правильно оборачивает строку запроса «Смит», но поскольку это оператор LIKE, он не работает.
Как выполнить запрос LIKE в Arel?
PS Бонус - я на самом деле пытаюсь просканировать два поля в таблице, имя и описание, чтобы увидеть, есть ли какие-либо совпадения с запросом. Как это будет работать?
1
Я обновил арел ответ на бонус.
—
Педро Роло