Ben bir ilişkilendirmeye nesneler topluluğu güncellemek amaçlayan bir form var: parametrelerBeyaz liste parametreleri
<%= form_tag(url: update_parent_children_path(parent_id: @parent.id), method: :put) do %>
<% @children.each do |child| %>
<%= fields_for "children[]", child do |cf| %>
.... Fields for form
, bu genelinde gelir gibi:
params[:children] -->
{"1" =>{"foo"=>"x", "bar"=>"y", "baz"=>"z"},
"2" =>{"foo"=>"x", "bar"=>"y", "baz"=>"z"},
"3" =>{"foo"=>"x", "bar"=>"y", "baz"=>"z"}}
Nesnenin bir örneğini beyaz listeye almak için biliyorum, kullanıyorum:
params.require(:child).permit(:foo, :bar, :baz)
Benzer bir yöntem var mı? Çocuk paramları tam listesini izin?
Başvuru içinkod güncelleme bloğu kullanıyorum olacak:
update_params beyaz listede bulunan çocuklardırdef update_children_on_parent
@children.each do |child|
child_params = update_params.select{|key, value| key == child.id}
child.update(child_params)
end
end
listesine güncelleme fonksiyonunda
'params.require (: ana) .permit (: çocuk => {: ece: bar} 'iç içe geçmiş paramları geçmenize izin vermeli, ayrıca' accepts_nested_attributes_for' – toddmetheny