Как выполнить запрос LIKE в Arel и Rails?

Я хочу сделать что-то вроде:

SELECT * FROM USER WHERE NAME LIKE '%Smith%';

Моя попытка в Arel:

# params[:query] = 'Smith'
User.where("name like '%?%'", params[:query]).to_sql

Однако это выглядит следующим образом:

SELECT * FROM USER WHERE NAME LIKE '%'Smith'%';

Арел правильно оборачивает строку запроса «Смит», но поскольку это оператор LIKE, он не работает.

Как выполнить запрос LIKE в Arel?

PS Бонус - На самом деле я пытаюсь просканировать два поля в таблице, имя и описание, чтобы увидеть, есть ли совпадения с запросом. Как это будет работать?

111
задан Pedro Morte Rolo 20 August 2015 в 14:19
поделиться