Я думаю, что проблема, с которой вы сталкиваетесь, заключается в том, что ваши ассоциации противоречивы.В user.rb
у вас есть отношение has_many :through
, что означает, что связь между пользователем и группой будет сохранена в таблице group_members
.В group.rb
у вас есть belongs_to
ассоциация, что означает, что ассоциация будет сохранена в столбце groups
, называемом user_id
.
. Обычно вы используете ассоциацию has_many :through
,пользователи могут принадлежать к нескольким группам, а группы могут содержать несколько пользователей (связь «многие ко многим»).belongs_to
ассоциации типов следует использовать, если в группе может быть только один пользователь или пользователь может принадлежать только к одной группе.
Я предполагаю, что вы хотите, чтобы пользователи принадлежали к нескольким группам, игруппы, чтобы иметь несколько пользователей.Если это так, вы можете исправить свои ассоциации, добавив следующее к group.rb
has_many :group_members
has_many :users, :through => :group_members