Я делаю похожую вещь на сайте, над которым я работаю, но ассоциации немного отличаются от того, как вы это делаете, но, возможно, это поможет. Я думаю, что вам нужно использовать ассоциацию has_and_belongs_to_many, чтобы объединить ваши многие-ко-многим.
В моей базе данных есть пользователи, пользователи и пользователи. Члены
Вам не нужно создавать модель UsersMembers (в вашем случае GroupMembership), но вам нужна таблица базы данных, чтобы связать их.
#Migration
create_table :bands_users, :id => false, :force => true do |t|
t.integer :band_id, :null => false
t.integer :user_id, :null => false
end
#Models
class Band < ActiveRecord::Base
has_and_belongs_to_many :members, :class_name => 'User'
end
class User < ActiveRecord::Base
has_and_belongs_to_many :bands
end
Теперь я могу позвонить @ band.members или @ user.bands