2012-05-27 36 views
0

我有一个课堂模型,有很多不同语言的成绩单。 我想处理每个副本并给它一个标题。 我无法调试每个块内的代码,我正在进入集合代理类。什么是正确的方法来做到这一点?正在更新协会

我的代码:

class Lesson < ActiveRecord::Base 
    has_many :lesson_transcripts 

在控制器的更新方法:

def update 
    @lesson = Lesson.find(params[:id]) 
    authorize! :update, @lesson 
    @lesson.attributes = params[:lesson] 

    @lesson.lesson_transcripts.each do |t| 
    t.title = ... 
    end 
    @lesson.save 
end 

回答

1

以下行添加到您的课程模式:

accepts_nested_attributes_for :lesson_transcripts 

然后,在你的控制器,你可以简单地有:

def update 
    @lesson = Lesson.find params[:id] 
    authorize! :update, @lesson 

    @lesson.update_attributes params[:lessons] 
end 

希望这会有所帮助。