我通过课程和用户之间的关系has_many。
class Course < ActiveRecord::Base
belongs_to :user
has_many :enrollments, :dependent => :delete_all
has_many :users, :through => :enrollments
attr_accessible :description, :duration, :name, :prerequisites, :short_name, :start_date, :user_id
accepts_nested_attributes_for :users, :allow_destroy => true
attr_accessible :users_attributes
和用户:
class User < ActiveRecord::Base
has_many :subjects, :class_name => "Course" # to get this call user.subjects
has_many :enrollments, :dependent => :delete_all
has_many :courses, :through => :enrollments
和注册:
class Enrollment < ActiveRecord::Base
belongs_to :course
belongs_to :user
attr_accessible :course_id, :user_id
end
现在,我正在尝试使用嵌套表单从课程内部设置user_ids。它一直给我质量分配警告,但没有保存任何东西。我读到我应该添加attr_accessible user_id但它仍然不起作用。
即使我从 rails 控制台做这样的事情:
@c.update_attributes({:user_ids => [7,8]})
以@c为理所当然
任何帮助将不胜感激,谢谢。
它是user_ids
,而不是user_id
。
您需要将user_ids
添加到您的attr_accessible
中。