2010-12-05 63 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