2010-12-05 52 views
1

Je veux faire une relation one-to-one, unique.rails 3 - belongs_to: unicité

J'ai donc dans un modèle de cette association et la validation

belongs_to: vélo valide: vélo,: présence => true,: unicité => true

Et donnez-moi cette erreur:

ActiveRecord :: StatementInvalid: SQLite3 :: SQLException: proche de "FROM": erreur de syntaxe: SELECT FROM "transactions" WHERE ("transactions". "Bicycle" IS NULL) ET ("transactions". "Bicycle" IS NULL) LIMIT 1

I Je ne sais pas pourquoi la requête n'est pas bien construite ... C'est un bug de rails3?

+0

cela peut ne pas être en rapport avec les validations ... pourriez-vous poster le code qui génère réellement le sql? – DGM

Répondre

5

Vous devriez probablement valider l'attribut et non l'association. L'attribut dans ce cas serait bicycle_id. Donc, si vous le changez en:

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

cela devrait fonctionner.

+0

non ... vous écrivez .. doit être bicycle_id au lieu de vélo ... MAIS continue la même erreur: ActiveRecord :: StatementInvalid: SQLite3 :: SQLException: près de "FROM": erreur de syntaxe: SELECT FROM "transactions" WHERE ("transactions". "Bicycle_id" IS NULL) ET ("transactions". "Bicycle_id" IS NULL) LIMITE 1 – joao

+0

* write = right désolé :-P – joao