2010-12-05 77 views
1

我想要做一对一的关系,唯一的。rails 3 - belongs_to:唯一性

所以我有一个模型,这个协会和验证

belongs_to的:自行车 验证:自行车:存在=>真实,:独特性=>真

而且给我这个错误:

ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:near“FROM”:语法错误:SELECT FROM“transactions”WHERE(“transactions”。“bicycle”IS NULL)AND(“transactions”。“bicycle”IS NULL)LIMIT 1

I不知道为什么查询不能很好地构建......这是一个rails3的bug?

+0

这可能与验证无关......你能发布实际生成sql的代码吗? – DGM 2010-12-05 00:44:37

回答

5

您应该验证属性而不是关联。这种情况下的属性是bicycle_id。所以如果你改变它:

validates :bicycle_id, :presence => true, :uniqueness => true 

应该工作。

+0

不......你必须写bicycle_id而不是自行车...但继续同样的错误: ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:near“FROM”:语法错误:SELECT FROM“transactions” WHERE(“transactions”。“bicycle_id”IS NULL)AND(“transactions”。“bicycle_id”IS NULL)LIMIT 1 – joao 2010-12-05 00:27:51