Я хочу зробити щось на кшталт:
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'%';
Arel обертає рядок запиту 'Smith' правильно, але оскільки це твердження LIKE, воно не працює.
Як можна зробити запит LIKE в Арелі?
PS Bonus - я насправді намагаюся сканувати два поля на столі, ім’я та опис, щоб побачити, чи є відповідність запиту. Як би це працювало?
1
Я оновив відповідь arel для бонусу.
—
Педро Роло