次のフォームは、複数の関連レコードを同時に編集し、in_groups_of
に基づいてレコード数をフォーマットします。2回生成されたネストされたフィールド
<%= form_for(@event) do |f| %>
<div class='row'>
<% @event.eventdistances.in_groups_of(6, false) do |eventdistances| %>
<%= f.fields_for :eventdistances do |eventdistance| %>
<div class='small-2 medium-2 large-2 columns'>
<%= eventdistance.check_box :active %> <%= eventdistance.object.building.nome %><br /><%= number_with_precision(eventdistance.object.distance, precision: 1) %> km
</div>
<% end %>
</div>
<% end %>
しかし、生成されたhtml bengは、6個のグループの後に行タグを閉じず、シバン全体が2回レンダリングされます。
do in_groups_of
とfields_for
何らかの理由で、in_groups_of
タグを削除した場合、完全なバージョンは1つしかレンダリングされないためですか?
どうすればこの問題を適切に解決できますか?
私は問題の根源は、 'fields_for'は関連付けを行うことを意図していると思いますが、' in_groups_of'は、stdlib Enumerableモジュールのメソッドであり、リレーションオブジェクトを配列に分割します。 – max
しかし、私はあなたが間違った問題に近づいていると思います。レスポンスグリッド内の項目を使用する場合は、行を手動で追加する必要はありません。代わりに、幅12のボックスにそれらを押し込み、表示サイズに応じてフローさせます。 – max
実際には 'in_groups_of'タグ(基底グリッド)を削除しても既にこれが起こっていますが、流れていますが完全ではありません。 – Jerome