2017-02-28 50 views
0

以下PATCH動作得到以下參數僅創建記錄時盒檢查

Parameters: {"utf8"=>"✓", [...], "contractgroup"=> 
{"articolocontractgroups_attributes"=> 
{"0"=>{"articolo_id"=>"0", "id"=>"425"}, 
"1"=>{"articolo_id"=>"true", "id"=>"426"}, 
"2"=>{"articolo_id"=>"true", "id"=>"427"}, 
"3"=>{"articolo_id"=>"0", "id"=>"428"}}, "contractgroup_id"=>"2"}, "commit"=>"Add"} 

然而控制器動作是在錯誤的方式調用的參數,如正在創建沒有記錄:

params[:contractgroup][:articolocontractgroups_attributes].each do |id, attrs| 
    if params[:articolo_id] == "true" 
    @articolocontractgroup = Articolocontractgroup.new 
    (articolo_id: params[:contractgroup][:articolo_id], 
     contractgroup_id: params[:contractgroup][:contractgroup_id]) 
    @articolocontractgroup.save 
    end 
end 

這是哪裏搞砸了?

回答

2

您需要檢查attrs[:articolo_id] == "true"而不是params[:articolo_id]