我有expenses
其中有多個expense_types
,並且每個expense_type
具有多個特定字段的形式。Rails 5.0 - 如何動態呈現嵌套表單?
在創建一個expense
,我可以選擇expense_type
就會產生,並通過AJAX我想render
的fields_for
選擇expense_type
。
例如,假設一個expense
有一個人的name
和expense_cost
:當選擇expense_type
travel
,還包括場itinerary
在頁面上start_date
/end_date
。
我有下面幾行代碼,以提供任何所選擇的expense_types
中,expense
形式中:
<% if @expense_type.present? %>
<%= f.fields_for ("expense_#{@expense_type}").to_sym do |ff| %>
<%= render "expense_#{@expense_type.pluralize}/#{@expense_type}_form", f: ff %>
<% end %>
<% end %>
如果我打電話的動作設定@expense_type = params[:selected_expense_type]
,然後告訴它渲染:new
,它將按照預期顯示選定的表單,但是我將丟失用戶已經提供的數據。
如何在不丟失expense
的當前表單數據的情況下設置此變量?有沒有更好的方法來做到這一點?
謝謝!