以下视图
<%= form_for(@event) do |f| %>
<%# @event.eventdistances.in_groups_of(6, false) do |eventdistances| %>
<div class='row'>
<% @event.eventdistances.each do |ed| %>
<div class='small-2 medium-2 large-2 columns'>
<%= fields_for "eventdistances[]", ed do |ff| %>
<%= ff.check_box :active %> <%= ed.struttura.nome %>
<% end %>
</div>
<% end %>
</div>
<%# end %>
生成一个具有父对象的ID的请求,但不是在参数hash中调用。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"l5xHBsUuL5uM/ip2P0jWLxMi46zhVOxo1vyei9xdLPDFxL3IHmVBAhz/vfu1esJjIBZbElG2pefp+zbAC1vivQ==", "eventdistances"=>{"1"=>{"active"=>"0"}}, "commit"=>"Confirm changes", "id"=>"5"}
自然,强有力的参数会抱怨,因为
中缺少参数params.require(:event).permit(*permitted)
该表格缺少在哪里?
<%= f.fields_for :eventdistances do |ff| %>
是适当的语法,同时确保包括id
eventdistances_attributes: [:id, ... ]