选择多个广告系列中的产品数量

时间:2018-03-19 11:26:40

标签: ruby-on-rails

我有两个型号

class Campaign < ActiveRecord::Base
  has_many :products
end

class Product < ActiveRecord::Base
  belongs_to :campaign
end

Campaign has a project_id column so the hierarchy is like a project has multiple campaigns and a campaign has multiple products.

现在我有以下情况: 我有一个用户界面,其中包含可以为广告系列选择特定产品的产品列表。但是有一个检查需要在广告系列的每个产品选择上执行。检查是计算特定项目的所有广告系列中unique products的数量。如果计数超过30,000,则不应允许选择产品。 任何想法如何做到这一点,以便在为广告系列选择产品时不会很重?

1 个答案:

答案 0 :(得分:0)

您只需添加一个直通关联来检查与之关联的产品数量。

class Project
  has_many :campaigns
  has_many :products, through: :campaigns

  PRODUCTS_LIMIT = 30_000
end

现在您可以查看要验证的位置。

if @project.products.count <= Project::PRODUCTS_LIMIT
  'Good to go'
else
  'Error'
end