您好我正在使用ruby rails创建3个型号 但我有一些问题。 这是我的模型代码
class Company < ActiveRecord::Base
has_many :pendings
has_many :products, :through => :pendings
end
class Product < ActiveRecord::Base
has_many :pendings
has_many :companies, :through => :pendings
end
class Pending < ActiveRecord::Base
belongs_to :company
belongs_to :product
end
我想让公司可以通过Pending来生产许多产品,反之亦然,它运作良好,但有没有办法在公司和产品之间只设置一个待定模型。
答案 0 :(得分:1)
一个选项:您可以按原样保留关联,但将以下验证添加到pending.rb
validates :company_id, uniqueness: {scope: :product_id}
在此处查看更多内容:rails validation docs
这将确保您每个公司和产品只能有一个待处理的......但是对于其他产品而言,这些公司会有许多挂件。