我一直在关注RailsCast 197来试试这个嵌套的模型/表单,并已经破解了我的头超过这个代码超过2小时,但无济于事。我忽略了什么?嵌套模型抛出未定义的方法错误
我有以下型号:
class Workout < ActiveRecord::Base
belongs_to :user
has_many :performed_exercises, :dependent => :destroy
accepts_nested_attributes_for :performed_exercises
end
class PerformedExercise < ActiveRecord::Base
belongs_to :workout
belongs_to :exercise
has_many :performed_sets, :dependent => :destroy
accepts_nested_attributes_for :performed_sets
end
class PerformedSet < ActiveRecord::Base
belongs_to :performed_exercise
end
在我WorkoutsController我有以下几点:
def new
# We only need to build one of each since they will be added dynamically
@workout = Workout.new
@workout.performed_exercises.build
@workout.performed_exercises.performed_sets.build
end
当我运行测试,并在浏览器中调用控制器,我得到以下错误:
undefined method `performed_sets' for #<Class:0x7f6ef6fa6560>
在此先感谢您的帮助 - 我的RoR noobility不再让我惊叹!
编辑: fflyer05:我尝试使用相同的代码RailsCast与遍历集合,并试图建立在performed_exercises的performed_sets [0] - 但它不工作。做任何事情,我得到一个未初始化的常量PerformedExercise :: PerformedSet错误
非常感谢soooo fflyer05。我的PerformedSet模型文件名是perform_sets。 – MunkiPhD 2010-08-29 14:50:00