2017-10-04 6 views
0

私はリーグを作成するフォームとそのリーグ用の10チームを持っています。私はこれを行うためにバックエンドを設定する際に問題を抱えています。1対多の属性ネストされた属性

今私は、この私のバックエンドを打つがあります。これが動作するかどうか

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

答えて

2

を参照してください。

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

そしてLeagueControllerで

:ネストされた属性をホワイトリスト、をleague_params。ホワイトリストに登録していない チーム

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

は、以下のparam構造体は、コードに当たっていることを確認しているそのteams_attributesことに注意してください。 teams_attributesコードは微調整が必​​要な場合がありますので、テストされていません

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

チームからの変化に注意してください。

+0

これは素晴らしい作品です。 – jminterwebs

関連する問題