У меня есть 5 моделей,
- Человек
- человек_автомобиль
- автомобиль (имеет много шин)
- 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 %>
и теперь это работает, но показывает только автомобили и шины, которые я выбрал в новом действии. не все, как я хотел (потому что, если я использую первую форму, она дублирует флажки в представлении).
Как я могу использовать одну и ту же форму для обоих действий?
Надеюсь, кто-нибудь может мне помочь.