0

I've two counter_cache, one for total number of campaign_codes and one only when campaign_code was used - campaign_codes.where(state: 'used'). To update total number of campaign_codes in the rails c I used script like:

CreditCampaign.reset_counters(CreditCampaign.first.id, :campaign_codes)

but this works only for total number of campaign_codes. How to setup the script in console for used campaign?

CampaignCode model

class CampaignCode < ApplicationRecord
  belongs_to :credit_campaign, counter_cache: :total_campaign_codes_amount
  belongs_to :used_credit_campaign, -> { where(state: 'used') }, class_name: 'CampaignCode', counter_cache: :used_campaign_codes_amount, optional: true
end

CreditCampaign model

class CreditCampaign < ApplicationRecord
  has_many :campaign_codes
end
mr_muscle
  • 2,536
  • 18
  • 61

0 Answers0