我在尝试将表单从视图中分离为部分时遇到了问题。我想对新视图和编辑视图使用相同的表单。这些都在同一页面上。新模型表单位于页面顶部,并使用我在控制器中设置的变量。
<%= 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" %>