Rails validates_uniqueness_of:外键的范围

时间:2011-02-11 19:45:28

标签: ruby-on-rails foreign-keys validates-uniqueness-of

我有一个属于“Store”的模型“Product”(has_many“products”)。 我想验证产品名称的唯一性,但仅限于每个商店。

现在我有这个:

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

当我在任何产品上运行保存时,我得到:

SQLite3::ConstraintException: column name is not unique

我确信我在这里犯了一个简单的错误。请教育我。

谢谢,

哈里斯

1 个答案:

答案 0 :(得分:2)

看起来这个错误来自SQLite,而不是Rails。检查数据库级别的约束 - 可能您在:name而不是[:name,:store_id]上添加了一个唯一约束。