Meine Update-Funktion verdoppeln die Datensätze für verschachtelte Elemente im Modell beim Senden.Rails verdoppeln die Datensätze auf update_attributes
Die eine, die nicht in den fields_for funktioniert als erwartet, aber jeder Datensatz in fields_for verdoppelt.
Was fehlt mir? Jede Hilfe wird sehr geschätzt
def edit
@printer = Printer.find(params[:id])
end
def update
@printer = Printer.find(params[:id])
if @printer.update_attributes(printer_params)
redirect_to @printer
else
render 'edit'
end
end
def printer_params
params.require(:printer).permit(:model, colors_attributes: [:color], materials_attributes: [:material], printer_photos_attributes: [:image_url])
end
edit.html.erb
<%= form_for @printer, html: { multipart: true }, :url => url_for(:controller => 'printers', :action => 'update') do |p|%>
<%= p.text_field :model %>
<%= p.fields_for :colors do |color|%>
<%= color.text_field :color %>
<% end %>
<%= p.submit "Edit" %>
<% end %>
Haben Sie [diese Frage] (http://stackoverflow.com/questions/9944065) und ihre Antworten überprüft? –