Я думаю, что ваш пример неверен, вы пытаетесь сказать следующее:
class foo < ApplicationRecord
has_many :bars
end
class bar < ApplicationRecord
belongs_to :foo
end
Если это так, то вам нужно реализовать счетчик кэша .
Ваш код станет:
class bar < ApplicationRecord
belongs_to :foo, counter_cache: true
end
И вы должны добавить к foo
столбец с именем bars_count
;
Теперь, когда вы создаетеновый foo, он автоматически увеличится bars_count
;и, конечно, уменьшите его при удалении foo.