Я следил за 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 перестает меня удивлять!
Редактировать :
fflyer05: я пытался использовать тот же код, что и в RailsCast, с итерацией по коллекции, а также пытался построить execute_sets на selected_exercises [0] - но это не работает Делая что-то еще, я получаю неинициализированную константу PerformedExercise :: PerformedSet error