Rails: Por que a associação “has_many…,: through =>…” resulta em “NameError: constante não inicializada…”

Para expressar que um grupo pode ter vários usuários e um usuário pode pertencer a vários grupos, defino as seguintes associações:

class Group < ActiveRecord::Base
  has_many :users_groups
  has_many :users, :through => :users_groups
end

class User < ActiveRecord::Base
  has_many :users_groups
  has_many :groups, :through => :users_groups
end

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

No entanto, quando digito:

Group.find(1).users

Eu recebo

NameError: uninitialized constant Group::UsersGroup

O que estou fazendo errado

questionAnswers(4)

yourAnswerToTheQuestion