0
我有5款車型,Rails的 - 使用新建/編輯使用相同的形式fields_for
- 人
- person_car
- 車(有許多輪胎)
- person_car_tire
- 輪胎(屬到汽車)
所以我有這個看法 _form.html.erb
<%= form_for(@person) do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div>
<% Car.all.each do |c|%>
<div class="field">
<%= f.fields_for(:person_cars) do |ff|%>
Car Name: <%= ff.check_box :car_id %>|<%= c.car_name%>
<% c.tires.each do |b|%>
<div class="field">
<%= ff.fields_for(:person_car_tires) do |fff|%>
Tire: <%#= fff.check_box :tire_id%>|<%= b.tire_name%>
<%end%>
</div>
<%end%>
<%end%>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
當我保存它完美的作品時,問題出現在我想用這種形式進行編輯時,因爲它在視圖中重複了每輛車的數據4次。我一直在尋找和領域允許額外的選項,所以我做了:
<%= form_for(@person) do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div>
<% @person.cars.each do |c|%>
<div class="field">
<%= f.fields_for(:person_cars, c) do |ff|%>
Actividad: <%= ff.check_box :car_id %> | <%= c.car.name%>
<% c.person_car_tires.each do |t|%>
<div class="field">
<%= ff.fields_for(:person_car_tires, t) do |fff|%>
Tarea: <%#= fff.check_box :tire_id%>|<%#= t.tire.name%>
<%end%>
</div>
<%end%>
<%end%>
</div>
<%end%>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
它現在的作品,但只顯示我選擇的新動作的汽車和輪胎。不是所有我想要的(因爲如果我使用第一種形式它複製視圖中的複選框)。
如何爲這兩種操作使用相同的表單?
希望有人能幫助我。