У меня есть форма «задачи», и я динамически добавляю дочернюю форму «шаги».
'шаги' добавляются посредством вызова JavaScript для рендеринга ('шаги / форма').
Форма загружается нормально, но при отправке формы задач добавленный шаг не заносится в базу данных.
Я предполагаю, что это потому, что я не связываю две формы вместе, но я не совсем уверен.
Мой код
Задачи / 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 %>
steps / _form.html.erb равен
<p class="fields">
<%= fields_for :steps do |builder| %>
<%= builder.label :title %>
<%= builder.text_field :title %>
<% end %>
Я считаю, что проблема в том, что я не передаю 'f' или 'task' в форму 'step', но я не мог понять, как это сделать.