Rails valide_uniness_of: portée sur la clé étrangère
-
12-11-2019 - |
Question
J'ai un modèle "produit" qui appartient à "Store" (qui a_many "produits"). Je veux valider le caractère unique du nom du produit mais uniquement dans chaque magasin.
En ce moment j'ai ceci:
class Product < ActiveRecord::Base
belongs_to :store
validates_uniqueness_of :name, :scope => :store_id
end
Quand j'exécute une sauvegarde sur n'importe quel produit maintenant, je reçois:
SQLite3::ConstraintException: column name is not unique
Je suis sûr qu'il y a une simple erreur que je fais ici. S'il vous plaît éduquer-moi.
Merci,
Harris
La solution
Il semble que cette erreur provienne de SQLite, pas de rails. Vérifiez les contraintes au niveau de la base de données - peut-être que vous avez ajouté une contrainte unique sur: nom plutôt que [: nom ,: store_id].
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow