用Time.now查询的位置

时间:2015-11-09 10:28:40

标签: ruby-on-rails ruby sqlite ruby-on-rails-4

我想实现以下目标:

Model.where("asdasd = ? AND to <= ?", nil, Time.now).each do |model|

我收到以下错误:

ActiveRecord::StatementInvalid: SQLite3::SQLException: near "to": syntax error: SELECT "bla".* FROM "table" WHERE (asdasd = NULL AND to <= '2015-11-09 10:18:14.777643')

我也在另一个控制器中使用相同的,我得到相同的错误。实现我想要的正确方法是什么?我也很确定它已经有了这样的效果,是否还有其他因素导致了这个问题?

感谢!!!

1 个答案:

答案 0 :(得分:1)

TO是一个SQL关键字,需要在查询中引用。 SQLite关键字列表可在SQLite documentation中找到。

其他数据库引擎具有相似(但不完全相同)的规则和关键字列表,因此如果您从SQLite更改,则检查新引擎的规则。