has_many zagnieżdżona forma z zagnieżdżoną postacią has_one

Obecnie próbuję stworzyć formę dla modelu, który ma dynamiczną liczbę zagnieżdżonych modeli. Używam zagnieżdżonych formularzy (jak opisano wRailsCasts 197). Aby jeszcze bardziej skomplikować, każdy z moich zagnieżdżonych modeli mahas_one skojarzenie z trzecim modelem, który chciałbym również dodać do formularza.

Dla każdego, kto zastanawia się nad normalizacją lub niewłaściwym podejściem, ten przykład jest uproszczoną wersją problemu, przed którym stoję. W rzeczywistości rzeczy są nieco bardziej skomplikowane i takie podejście zdecydowaliśmy się podjąć.

Oto przykładowy kod ilustrujący problem poniżej:

#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
<%= form_for @test do |f| %>
  <%= f.label :test_name %>
  <%= f.text_box :test_name %>
  <%= f.label :test_description %>
  <%= f.text_area :test_description %>
  <%= f.fields_for :questions do |questions_builder| %>
    <%= questions_builder.label :question %>
    <%= questions_builder.text_box :question %>
      <%= questions_builder.fields_for :answer do |answers_builder| %>
        <%= answers_builder.label :answer %>
        <%= answers_builder.text_box :answer %>
      <% end %>
  <% end %>
  <%= link_to_add_fields 'New', f, :questions %>
<% end %>

Ten przykład kodu działa w pełni dla pierwszego wystąpienia pytania. Problem występuje, gdy dynamicznie dodaje się inne pytanie, aby je utworzyć; pola odpowiedzi nie są wyświetlane. Uważam, że dzieje się tak dlatego, że są zbudowane tylko dla pierwszego pytania w kontrolerze. Czy istnieje sposób na osiągnięcie tego za pomocą nested_attributes?

questionAnswers(1)

yourAnswerToTheQuestion