Rails validates_uniqueness_of: область действия на внешнем ключе - PullRequest
3 голосов
/ 11 февраля 2011

У меня есть модель «Продукт», которая принадлежит «Магазину» (которая имеет «много продуктов») Я хочу подтвердить уникальность названия продукта, но только в каждом магазине.

Прямо сейчас у меня есть это:

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

Теперь, когда я запускаю сохранение на любом продукте, я получаю:

SQLite3::ConstraintException: column name is not unique

Я уверен, что здесь я совершаю простую ошибку. Пожалуйста, просветите меня.

Спасибо

Harris

1 Ответ

2 голосов
/ 11 февраля 2011

Похоже, что эта ошибка исходит от SQLite, а не от Rails.Проверьте ограничения на уровне базы данных - возможно, вы добавили уникальное ограничение: name, а не [: name,: store_id].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...