rails 3 - belongs_to:uniqueness

joa*_*oao 2 validation ruby-on-rails unique belongs-to

我想做一对一的关系,独一无二.

所以我在模型中有这种关联和验证

belongs_to:bicycle validates:bicycle,:presence => true,:uniqueness => true

并告诉我这个错误:

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

我不知道为什么查询构造不好......这是rails3的一个bug?

Dan*_*nne 5

您应该验证属性而不是关联.这种情况下的属性是bicycle_id.因此,如果您将其更改为:

validates :bicycle_id, :presence => true, :uniqueness => true
Run Code Online (Sandbox Code Playgroud)

应该工作.