Rails Validates_UniqueNess_of: Scope su chiave straniera
-
12-11-2019 - |
Domanda
Ho un modello "Prodotto" che appartiene_to "Store" (che ha_mani "prodotti"). Voglio convalidare l'unicità del nome del prodotto, ma solo all'interno di ciascun negozio.
Proprio ora ho questo:
class Product < ActiveRecord::Base
belongs_to :store
validates_uniqueness_of :name, :scope => :store_id
end
.
Quando eseguo un salvataggio su qualsiasi prodotto ora ottengo:
SQLite3::ConstraintException: column name is not unique
.
Sono sicuro che c'è un semplice errore che sto facendo qui.Per favore educami.
Grazie,
harris
Soluzione
Sembra che l'errore venga proveniente da SQLite, non rotaie.Controllare i vincoli a livello di database: forse hai aggiunto un vincolo unico su: nome anziché [: nome ,: store_id].
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow