Я понятия не имею, что может быть причиной этого. Я делаю свою вторую вложенную форму в приложении. У меня есть сайт для студентов, чтобы получить работу. Модель и форма задания относятся к работе, выполняемой с сайта, и просто перечисляют реальные места работы студента. Это вложенная форма и является частью модели под названием «Возобновить». У меня есть другая модель, совершенно другая, называется Schedule. Расписание принадлежит_о модели под названием Проект. Я пытаюсь создать вложенную форму, чтобы пользователь мог создать расписание. Обе формы используют javascript для динамического создания новых форм на странице по мере необходимости. По какой-то причине, когда я пытаюсь зайти на страницу с формой графика, я сказал:Ошибка вложенной формы Rails
Missing partial schedules/job_fields, application/job_fields
Это не имеет никакого смысла, так как рабочие места и графики не имеют никакого отношения. Он не должен искать частичное занятие. Вот мнение код формы по расписанию:
<% @projects.each do |project| %>
<%= form_for project do |f| %>
<%= f.fields_for :schedules do |builder| %>
<%= render 'schedule_fields', :f => builder %>
<% end %>
<p><%= link_to_add_fields "Add Schedule", f, :schedules %>
<p><%= f.submit "Submit" %></p>
<% end %>
<% end %>
Вот парциальное '_schedule_fields.html.erb'
<p class = "fieldo">
<%= f.label :title %><br />
<%= f.text_field :title %><br />
<%= f.label :task %><br />
<%= f.text_field :task %><br />
<%= f.hidden_field :_destroy %>
<%= link_to_function "remove", "remove_fields(this)" %>
</p>
А вот это JQuery:
//Dynamic forms
function remove_fields(link) {
$(link).prev("input[type=hidden]").val("1");
$(link).closest(".fieldo").hide();
}
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g");
$(link).parent().before(content.replace(regexp, new_id));
}
Теперь вот что-то интересно. Если я создаю файл _job_fields.html.erb в каталоге views/schedules и копирую и вставляю содержимое из '_schedule_fields.html.erb', форма работает отлично. Я не могу понять, почему он ищет партию job_fields, когда я явно говорю в графиках формы. Как мне заставить это работать с частями sched_fields? Благодаря!
В дополнение к вашей проблеме, могу ли я предположить, что вы пытаетесь динамически добавлять поля в эту форму? –
Да. По сути, каждое расписание состоит из одной задачи. Каждый раз, когда кто-то нажимает «добавить», новая форма расписания динамически создается (одно поле для заголовка и одно поле для задачи). – Philip7899
Да, я думал, что смогу узнать, что вы делаете, потому что я буквально работал над этим вчера! Здесь действительно хороший учебник (с рабочей демонстрацией), если вам нужно вдохновение: http://pikender.in/2013/04/20/child-forms-using-fields_for-through-ajax-rails-way/ –