вложенная форма has_many с вложенной формой has_one
В настоящее время я пытаюсь сделать форму для модели, которая имеет динамическое число вложенных моделей. Я'используя вложенные формы (как описано вRailsCasts 197). Чтобы сделать вещи еще сложнее, каждая из моих вложенных моделей имеетhas_one
ассоциация с третьей моделью, которую я также хотел бы добавить в форму.
Для тех, кто интересуется чрезмерной нормализацией или неправильным подходом, этот пример является упрощенной версией проблемы, которую ям лицом. В действительности все немного сложнее, и это подход, который мымы решили взять.
Некоторые примеры кода для иллюстрации проблемы ниже:
#MODELS
class Test
attr_accessible :test_name, :test_description, :questions_attributes
has_many :questions
accepts_nested_attributes_for :questions
end
class Question
attr_accessible :question, :answer_attributes
belongs_to :test
has_one :answer
accepts_nested_attributes_for :answer
end
class Answer
attr_accessible :answer
belongs_to :question
end
#CONTROLLER
class TestsController < ApplicationController
#GET /tests/new
def new
@test = Test.new
@questions = @test.questions.build
@answers = @questions.build_answer
end
end
#VIEW
Этот пример кода полностью работает для первого экземпляра Вопроса. Проблема возникает, когда другой вопрос динамически добавляется для создания; поля ответа не отображаются. Я считаю, что это потому, что они построены только для первого вопроса в контроллере. Есть ли способ добиться этого с помощью nested_attributes?