0

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]})%>

このエラーを解決する方法はありますか?

4

2 に答える 2

3

追加する必要があります

attr_accessible :course

あなたの中にNote.rb

于 2012-04-22T02:31:15.677 に答える
0

rails 4よりも小さいrailsバージョンを使用しているため、アクセスするパラメーターを明示的に渡す必要があります。これはセキュリティ上の理由によるものです。ただし、デフォルトでrails 4を使用する場合は、railsがこれを処理します。それは強いパラメータと呼ばれます。

したがって、私のコントローラーとビューがこの属性にアクセスできるようにモデルに指示する必要があります。

  attr_accessible :course
于 2014-12-13T11:33:32.647 に答える