Мои модели выглядят примерно так:
has_and_belongs_to_many: блоги
has_and_belongs_to_many: разделы
has_many: сообщения
Вы хотите что-то вроде:
Section has_and_belongs_to_many :blogs has_many :posts, :through => :blogs
Я не уверен, что синтаксис в точности правильный, но вы ищете именно сквозной атрибут.