rails表示部分用于new并在同一页面上编辑

时间:2012-11-01 18:42:41

标签: ruby-on-rails-3 forms partial-views form-for

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

<%= 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" %>

1 个答案:

答案 0 :(得分:1)

在路线中添加资源new_hire_requests并完成它。