我有一个经典的form_for
:
<div class="field">
<%= f.label "Modèle" %>
<%= f.text_field :model, required: true %>
</div>
<div class="field">
<%= f.label "Immatriculation" %>
<%= f.text_field :license_plate, required: true %>
</div>
<div class="field">
<%= f.label "Complément" %>
<%= f.text_field :complement, required: true%>
</div>
<div class="field">
<%= f.label "Puissance CV" %>
<%= f.number_field :horse_power, required: true %>
</div>
<div class="field">
<%= f.label "Indemnité KM" %>
<%= f.number_field :km_compensation, required: true%>
</div>
<div class="actions">
<%= f.submit 'Sauvegarder' %>
</div>
我想在此视图中使用另一个模型,当用户单击提交按钮时,该模型也会更新。我知道这与nested forms
有关,但我对如何实现它有点困惑。这是我要添加的第二个模型中的变量:
<% @trip_distances.each do |t| %>
<%= form_for(t) do |e| %>
<div class="field">
<%= e.text_field t.id_contract %>
<%= e.number_field t.length %>
</div>
<% end %>
显然这不正确。我想我需要使用field_for
方法?
答案 0 :(得分:0)
首先,考虑使用simple_form gem,因为它清理了一些代码,并且整体上更适合开发人员:)
然后在您的视图中,您将拥有类似
的内容<%= simple_form_for sth do |form| %>
<% form.input :attributeUno %>
<% form.input :length %>
...
然后添加到此表单输入嵌套元素添加simple_fields_for
<% @trip_distances.each do |t|
<%= form.simple_fields_for t do |fields| %>
<% fields.input :length %>
...
不要忘记添加
模型中的 accepts_nested_attributes_for :something
:)