有两个模型记录一些月度统计数据,我正在尝试使用以下方法在模型中强制执行复合键约束:
validates_uniqueness_of :entity_id, :scope => [:year, :month]
当尝试.valid?
在记录上运行方法时,我不断收到错误,因为显然 ActiveRecord 正在生成不正确的 SQL。
SQLite3::SQLException: near "FROM": syntax error: SELECT FROM "table" WHERE ("table"."entity_id" = 1) AND ("table"."year" = 2007) AND ("table"."month" = 6) LIMIT 1
请注意,Rails 没有在 select 语句中添加 *,因此 SQLite 正确地抛出了错误。
如果我在这里做错了什么有什么想法吗?