我有两个型号
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,则不应允许选择产品。
任何想法如何做到这一点,以便在为广告系列选择产品时不会很重?
答案 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