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

Était-ce utile?

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
scroll top