为什么Model.scoped生成无效的SQL?

时间:2010-05-18 22:18:59

标签: ruby-on-rails activerecord

当我运行Book.scoped({:conditions => ['books.index LIKE ?','%query%']})时,我得到:

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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

信用转到Adam Bernier指出index是一个SQL关键字(参见问题评论)。我在这里重新发布解决方案,以便将此问题标记为已回答。

虽然

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

工作,为了安心,我决定重新命名专栏。