我正在使用Rails,我似乎无法克服此错误。课程有很多笔记,笔记属于课程。
我得到的错误是:
无法批量指定受保护的属性:
course
这是我的course.rb
class Course < ActiveRecord::Base
belongs_to :semester
has_many :notes, :dependent => :destroy
attr_accessible :course_name, :course_number, :instructor, :instructor_email, :class_meets,
:class_starts, :semester_id
end
note.rb
class Note < ActiveRecord::Base
belongs_to :course
attr_accessor :course_name, :course_id
attr_accessible :title, :date, :body, :extra, :course_name, :course_id
end
notes/_form.html.erb
(用户可以选择课程并创建笔记)
<%= f.select("course", Course.find(:all).collect {|c| [c.course_name, c.id]})%>
无论如何都要解决此错误?
答案 0 :(得分:3)
你需要添加
attr_accessible :course
在Note.rb
答案 1 :(得分:0)
由于您使用的rails版本低于rails 4,因此您必须明确传递要访问的参数。这是出于安全原因。但是,如果您使用rails 4默认情况下rails将为您处理此问题。它被称为强参数。
因此,您必须告诉您的模型,让我的控制器和视图访问此属性。
attr_accessible :course