我有一个用户模型:
class User < ActiveRecord::Base
has_many :products
end
和产品型号:
class Product < ActiveRecord::Base
belongs_to :user
end
产品表有一列名为product_id
,它是字母数字,我希望用户可以拥有许多产品,但在product_id
上应该是唯一的。我可以在 product_id
上添加一个索引,使其唯一
,但这意味着其他用户无法拥有类似的产品。
为了简化问题,每个 user_id
和 product_id
应该有一个唯一的条目。
Rails 中是否有任何常规方法可以实现相同的目的?
最佳答案
阅读验证文档:http://guides.rubyonrails.org/active_record_validations.html#uniqueness
您可以使用范围唯一性。
validates :product_id, uniqueness: { scope: :user_id }
关于ruby-on-rails - Rails has_many 但在关联模型的列上是唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36202412/