Несколько вещей - прежде всего, модель ActiveRecord должна быть единственной, а не множественной. Кроме того, я предполагаю, что вы имели в виду, что таблица для модели Group - это «event_groups», а не «groups»?
Попробуйте это:
class Event < ActiveRecord::Base
set_table_name 'events'
has_many :event_to_groups
has_many :groups, :through => :event_to_groups
end
class Group < ActiveRecord::Base
set_table_name 'event_groups'
has_many :event_to_groups
has_many :events, :through => :event_to_groups
end
class EventToGroup < ActiveRecord::Base
set_table_name 'event_to_groups'
belongs_to :event
belongs_to :group, :foreign_key => 'event_groups'
end
Я бы также выбрал более описательное название модели, чем "EventToGroup" (может быть, "Посетитель" или что-то в этом роде), но это зависит от вас.
Это должно сделать это - тогда вы можете сделать что-то вроде:
@event = Event.find(5)
@groups = event.groups
Edit: Ack, эти отношения должны иметь has_many, а не только многие. Я слишком много использовал MongoMapper.