ruby-on-rails - Rails has_many 但在关联模型的列上是唯一的

标签 ruby-on-rails ruby

我有一个用户模型:

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/

相关文章:

ruby-on-rails - 存储文件以供下载的最佳位置

ruby-on-rails - Heroku 的 AssetSync gem 替代品

ruby-on-rails - rails : find_by_sql and virtual column

ruby - "Pow is installed"现在出现在我所有的网站上

ruby - 用空项替换数组中的每一项

ruby-on-rails - PG::UndefinedTable - 错误:关系 "active_storage_attachments"不存在

ruby-on-rails - Ruby on Rails 服务器错误

ruby-on-rails - 谷歌 auth1 到 oauth2 迁移 : Invalid authorization header

mysql - 如何根据列值计算记录之间的小时总和

ruby - 我想在 Ubuntu vps 服务器上运行 wpscan,但出现 ruby​​ 错误