Почему Model.scoped генерирует недопустимый SQL?

Когда я работаю Book.scoped({:conditions => ['books.index LIKE ?','%query%']}) Я добираюсь:

ActiveRecord::StatementInvalid: SQLite3::SQLException: near "index": syntax error: SELECT * FROM "books" WHERE (books.index like '%query%')

Что я делаю неправильно?

1
задан Nicholas H. 18 May 2010 в 22:18
поделиться

1 ответ

Заслуга Адама Бернье за указание на то, что index является ключевым словом SQL (см. комментарий к вопросу). Я репостирую решение здесь, чтобы этот вопрос был помечен как ответ.

Пока

Book.scoped({:conditions => ['`index` LIKE ?','%query%']})

работает, для душевного спокойствия я решил переименовать колонку.

2
ответ дан 3 September 2019 в 00:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: