У меня есть форма «задачи», и я динамически добавляю дочернюю форму «шаги».
«Шаги» добавляются через вызов javascript для рендеринга («шаги/форма»).
Форма загружается нормально, но при отправке формы задач добавленный шаг не заносится в базу.
Я предполагаю, что это потому, что я не связываю две формы вместе, но я не совсем уверен.
Мой код Tasks/new.html.erb
<%= form_for @task, :html=>{:multipart=>true} do |f| %> <%= f.label :task_name %> <%= f.text_field :task_name %> <%= link_to "Add Step", @step, :remote=>true, :class=>'addStep %> <%= f.submit %> <% end %> <% content_for(:js) do %> $('a.addStep').click(function(){ $('div#newStep').append("<%= escape_javascript(render('steps/form'))%>"); }); <% end %>
шаги/_form.html.erb
<p class="fields"> <%= fields_for :steps do |builder| %> <%= builder.label :title %> <%= builder.text_field :title %> <% end %>
Я считаю, что проблема в том, что я не передаю «f» или «задачу» в форму «шаг», но я не мог понять, как это сделать.