这是我的课程模型
class Course < ActiveRecord::Base
attr_accessible :longdescription, :shortdescription, :title, :published_at
has_many :lessons, :foreign_key => 'course_id'
end
这是我的课程模型
class Lesson < ActiveRecord::Base
belongs_to :course, :class_name => 'Course'
attr_accessor :course_id
attr_accessible :description, :title, :course_id
end
我创建了一个属于课程的课程。课程创建成功
Lesson.create(:title => "testing", :description => "causing problems", :course_id => 1)
但是当我获取课程记录时,我得到了course_id = nil。任何帮助???
<Lesson id: 8, title: "testing", description: "causing problems", course_id: nil, created_at: "2013-03-15 12:56:36", updated_at: "2013-03-15 12:56:36">
答案 0 :(得分:2)
删除attr_accessor :course_id
模型中的Lesson
。这将覆盖activerecord的默认行为。
答案 1 :(得分:2)
您需要删除模型中的attr_accessor :course_id
行。如果您有此行,则会在模型中创建以下方法,这些方法与默认情况下定义的方法相冲突
def course_id
@course_id
end
def course_id=(cid)
@course_id = cid
end