轨道 3 - 警告:无法批量分配受保护的属性:user_ids



我通过课程和用户之间的关系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中。

最新更新