警告:无法批量分配受保护的属性:课程

时间:2012-04-22 02:17:04

标签: ruby-on-rails ruby-on-rails-3

我正在使用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]})%>

无论如何都要解决此错误?

2 个答案:

答案 0 :(得分:3)

你需要添加

attr_accessible :course

Note.rb

答案 1 :(得分:0)

由于您使用的rails版本低于rails 4,因此您必须明确传递要访问的参数。这是出于安全原因。但是,如果您使用rails 4默认情况下rails将为您处理此问题。它被称为强参数。

因此,您必须告诉您的模型,让我的控制器和视图访问此属性。

  attr_accessible :course