Мне нужно уменьшить счетчик активных пользователей в группе, на самом деле правильно увеличивается, когда новый пользователь переходит из неактивного в активное в группе. Но при переходе от активного к неактивному, а затем снова к активному счетчик активных пользователей становится еще одним.
Поэтому мне нужно уменьшить счетчик при переходе от активного к неактивному.
Дотеперь я попытался использовать параметр delta_magnitude
, чтобы уменьшить его, но не сработал.
Вот так выглядит класс
class GroupUser < ApplicationRecord
attr_accessor :send_challenge
belongs_to :group
belongs_to :user
counter_culture :group, column_name: proc { |model| model.active? ? 'users_count' : nil },
column_names: {
['group_users.active = ?', true] => 'users_count'
}
Как вы можете видеть, я использую класс динамические имена столбцов
Вот что я пробовал до сих пор
class GroupUser < ApplicationRecord
attr_accessor :send_challenge
belongs_to :group
belongs_to :user
counter_culture :group, column_name: proc { |model| model.active? ? 'users_count' : nil },
column_names: {
['group_users.active = ?', true] => 'users_count'
},
delta_magnitude: 1
Здесь я добавляю дельта-величину , пытаясь сделатьоно уменьшается, но не работает.
Есть ли способ выразить условие, чтобы уменьшить его?