Pergunta

Eu tenho um modelo "Produto" que pertence a "Loja" (que possui muitos "produtos").Quero validar a exclusividade do nome do produto, mas apenas dentro de cada loja.

Agora eu tenho isso:

class Product < ActiveRecord::Base
  belongs_to :store
  validates_uniqueness_of :name, :scope => :store_id
end

Quando executo um salvamento em qualquer produto agora, recebo:

SQLite3::ConstraintException: column name is not unique

Tenho certeza de que há um erro simples que estou cometendo aqui.Por favor, eduque-me.

Obrigado,

Harris

Foi útil?

Solução

Parece que esse erro vem do SQLite, não do Rails.Verifique as restrições no nível do banco de dados - talvez você tenha adicionado uma restrição exclusiva em :name em vez de [:name, :store_id].

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top