Область для нескольких counter_cache в одной модели - PullRequest
0 голосов
/ 07 октября 2019

Я хочу иметь два 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...