2017-10-04 7 views
0

Ich habe ein Formular, das eine Liga und 10 Teams für diese Liga erstellt. Ich habe Probleme, das Backend einzurichten, um dies zu tun.eins zu viele Attribute verschachtelte Attribute

Im Moment habe ich diese schlagen mein Backend:

Parameters: {"league"=>{"name"=>"League Name", "teams"=>[{"name"=>"Team 1"}, {"name"=>"Team 2"}, {"name"=>"Team 3",...]}} 

Antwort

2

Prüfen Sie, ob das funktioniert.

class League < ActiveRecord::Base 
    has_many :teams 
    accepts_nested_attributes_for :teams 
end 

Und in LeagueController: league_params, die verschachtelten Attribute weiße Liste. Beachten Sie, dass seine teams_attributes, die weiße Liste gesetzt wird und nicht Teams

def league_params 
    params.require(:league).permit(:id, :name, teams_attributes: [ :id, :name ]) 
end 

Vergewissern Sie sich die folgende param Struktur den Code trifft. Beachten Sie die Änderung von Teams zu teams_attributes

{"league" =>{"name"=>"League Name", "teams_attributes"=>[{"name"=>"Team 1"}, {"name"=>"Team 2"}, {"name"=>"Team 3"}]}} 

Der Code nicht so getestet Zwicken benötigen.

+0

Vielen Dank, das funktioniert so gut wie es ist. – jminterwebs

Verwandte Themen