私はおそらく非常に明白な何かに苦労してきました:
コースをユーザーに割り当てようとすると、コースを複数のユーザーのコレクションに入れることができないと思います。
すべてのユーザーを反復処理し、すべてのコースのサブセクションをそのユーザーに割り当てるメソッドがあります。コースが割り当てられているのは、最後の数人のユーザーだけです。これは、両者の関係が Courses テーブルにフィールドとして格納されているためだと思いますので、コースは 1 人のユーザーにしか所属できません。コースを多くのユーザーに所属させたい。
考えてみると、これは has_many 以外の種類の関係が必要だからだと思いますか? HABTMのような?
AR アソシエーションの仕組みについて混乱していると思います...
user.rb
class User < ActiveRecord::Base
has_many :courses
has_many :bookmarks, :class_name => 'Course'
attr_accessible :email, :password, :courses, :bookmarks
validates_presence_of :password, :on => :create
validates_presence_of :email, :on => :create
validates :password, :length => { :in => 6..20 }
validates_format_of :email, :with => /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
validates_uniqueness_of :email
end
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# email :string(255)
# password_digest :string(255)
# course_id :integer
# bookmark_id :integer
# created_at :datetime not null
# updated_at :datetime not null
#
course.rb
class Course < ActiveRecord::Base
attr_accessible :name
end
# == Schema Information
#
# Table name: courses
#
# id :integer not null, primary key
# name :string(255)
# created_at :datetime not null
# updated_at :datetime not null
# user_id :integer
#