has_many: a través de constante no inicializada

He leído las documentaciones y un montón de tutoriales sobre has_many: a través de las relaciones en Rails, pero no puedo por mi vida entenderlo.

Estoy tratando de agregar un grupo a mi current_user (diseñar) y tengo una tabla en medioGroup yUser con un estado (el estado del usuario es modificable para ese grupo).

Cada vez que creo un nuevo Grupo, aparece un error que diceuninitialized constant Group::GroupUser

Aquí están mis modelos:

groupuser.rb

class GroupUser < ActiveRecord::Base
    belongs_to              :group
    belongs_to              :user
end

grupo.rb

class Group < ActiveRecord::Base
    has_many                            :clients
    has_and_belongs_to_many             :pictograms

    has_many :group_users
    has_many :users, :through => :group_users

    accepts_nested_attributes_for :clients

    validates_length_of                 :name,  :minimum => 5
    validates_presence_of               :name
    validates_presence_of               :background
    validates_presence_of               :clocktype
end

Usuario.rb

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable


  validates_presence_of   :first_name
  validates_presence_of   :last_name
  validates               :email, presence: true, uniqueness: true

  has_many :group_users
  has_many :groups, :through => :group_users

  has_attached_file :avatar, :styles => { 
                                :medium => "300x300#", 
                                :thumb => "100x100#" 
                             }
  validates_attachment_content_type :avatar, :content_type => ['image/jpg', 'image/png', 'image/jpeg']

  validates_attachment :avatar,
                  :size => { :in => 0..1.megabytes }

  def completeName
    "#{self.first_name} #{self.last_name}"
  end
end

Y las cosas relacionadas deschema.rb

  create_table "group_users", id: false, force: true do |t|
    t.integer "group_id"
    t.integer "user_id"
    t.integer "status",   default: 0
  end

  add_index "group_users", ["group_id"], name: "index_group_users_on_group_id"
  add_index "group_users", ["user_id"], name: "index_group_users_on_user_id"

  create_table "groups", force: true do |t|
    t.string   "name"
    t.integer  "clocktype"
    t.string   "background"
    t.datetime "created_at"
    t.datetime "updated_at"
  end
  create_table "users", force: true do |t|
    t.string   "first_name"
    t.string   "last_name"
    t.string   "password"
    t.string   "avatar_file_name"
    t.string   "avatar_content_type"
    t.integer  "avatar_file_size"
    t.datetime "avatar_updated_at"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "email",                  default: "", null: false
    t.string   "encrypted_password",     default: "", null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",          default: 0
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string   "current_sign_in_ip"
    t.string   "last_sign_in_ip"
  end

  add_index "users", ["email"], name: "index_users_on_email", unique: true
  add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true

Y por último.La línea que arroja el error.

@group.users << current_user

Respuestas a la pregunta(1)

Su respuesta a la pregunta