Я хочу иметь два counter_cache в одной модели. Чтобы избежать перезаписи значений, я должен указать модели, с которой ActiveRecord :: Relation
должен работать. Для второго counter_cache я хочу получить что-то вроде used_codes = CampaignCode.where(state = 'true')
class CampaignCode < ApplicationRecord
belongs_to :credit_campaign, counter_cache: :total_campaign_codes
belongs_to :credit_campaign, -> { where(state: 'true') }, counter_cache: :used_codes
end
class CreditCampaign < ApplicationRecord
has_many :campaign_codes
end
С этим кодом у меня появляется ошибка
ActiveRecord :: StatementInvalid: PG :: UndefinedColumn:ОШИБКА: столбец credit_campaigns.state не существует
Что верно, поскольку столбец state
находится в модели campaign_codes
, поэтому как отразить его в области действия counter_cache?