Работает лучше для меня тоже! После создания события пропускаются при массовом назначении. Это должен быть принятый ответ.

могу оптимизировать свои SQL-запросы, чтобы игнорировать такие ситуации:

Meeting.find (5) .users.size => ВЫБРАТЬ СЧЕТ (*) ОТ ... ГДЕ ...

User.find (123) .meetings.size => ВЫБРАТЬ СЧЕТ (*) ОТ ... ГДЕ ...

Я понятия не имею, как использовать counter_cache здесь.

Вот мое модельное отношение:

class Meeting < ActiveRecord::Base
  has_many :meeting_users
  has_many :users, :through => meeting_users
end

class User < ActiveRecord::Base
  has_many :meeting_users
  has_many :meetings, :through => meeting_users
end

class Meeting_user < ActiveRecord::Base
  belongs_to :meeting
  belongs_to :user
end

Каковы наиболее оптимальные решения?

А как реализовать counter_cache здесь?

Ответы на вопрос(2)

Ваш ответ на вопрос