How to populate join tables?

Given:

class CseModule < ActiveRecord::Base
has_and_belongs_to_many :students
belongs_to :staff
end

class Student < ActiveRecord::Base
has_and_belongs_to_many :cse_modules
end

Why doesn’t

  # This next line should sort out the join table.
  @student_modules.each do |student, modules|
    the_student = Student.find_pnumber(student.pnumber)
    modules.each do |cse_module|
      the_cse_module = CseModule.find_aos_code(cse_module.aos_code)
      the_cse_module.students << the_student
    end
  end

leave any data in the join table cse_modules_students ?
According to my understanding of pages 240-241 of Agile Web
development it should. I don’t get any exceptions thrown. I didn’t
get errors about nonexistent tables being accessed.

    Thank you,
    Hugh