Я сталкиваюсь с проблемами, пытаясь отделить форму от представления в частичную. Я хочу использовать одну и ту же форму для нового представления и редактирования. Они оба на одной странице. Форма новой модели находится вверху страницы и использует переменную, которую я установил в контроллере.
<%= form_for @new_hire do |f| %>
<%= render :partial => 'new_hire_requests/form', :locals => {:f => f} %>
<% end %>
Затем у меня есть партиал для ожидающих утверждений, который обрабатывается другим партиалом.
<%= render :partial => 'pending_approval', :collection => @pending_approval %>
И внутри частичного утверждения, ожидающего утверждения, у меня есть это
<%= form_for pending_approval do |f| %>
<%= render :partial => 'new_hire_requests/form', :locals => {:f => f} %>
<% end %>
Это выдает ошибку
undefined method `new_hire_request_path' for #<#<Class:0x0000010488ac98>:0x0000010223ffc0>
Есть ли способ повторно использовать код формы как для новой, так и для редактирования формы на одной странице?
Логика контроллера
@new_hire = NewHireRequest.new
@new_hire_requests = current_user.new_hire_requests
@pending_approval = @new_hire_requests.select{|p| p.status == 'pending_hr_approval' || p.status == 'pending_exec_approval'}
Частичный код
<%= render 'shared/error_messages', object: f.object %>
<fieldset class="first">
<%= f.label :first_name, "First Name" %>
<%= f.text_field :first_name %>
</fieldset>
<fieldset>
<%= f.label :last_name, "Last Name" %>
<%= f.text_field :last_name %>
</fieldset>
<%= f.submit "Submit for Approval <i class='icon-share-alt icon-white'></i>",
class: "button_green" %>
@new_hire = NewHireRequest.new
@pending_approval представляет собой набор объектов NewHireRequest, поэтому частичное отображается для каждого объекта в коллекции - person Austin   schedule 01.11.2012