フォームをビューからパーシャルに分離しようとして問題が発生しています。新規ビューと編集ビューで同じフォームを使用したい。これらは両方とも同じページにあります。新しいモデル フォームはページの上部にあり、コントローラーで設定した変数を使用します。
<%= 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" %>