2016-10-26 9 views
1

同じモデルの複数のオブジェクトを1つのフォームから作成しようとしています。私は私のcreate方法で取得paramsが次のようになります。1つのフォームから複数のオブジェクトを作成するための強力なパラメータをレンダリングする

<ActionController::Parameters {"objects"=> <ActionController::Parameters { 
    "0"=>{priority"=>"24", "style"=>"three_pictures"}, 
    "1"=>{"priority"=>"24", "style"=>"three_pictures"}, 
    "2"=>{"priority"=>"24", "style"=>"three_pictures"} 
} permitted: false>}permitted: false> 

私はこのケースでstrong paramsを使用する方法について混乱しています。

def create 
    params[:objects].each do |index, object| 
    Object.create(object.permit(:priority, :style)) 
    end 
    ... 
end 

これは動作しますが、これを行うための正しい方法のように見えない:私のcreate方法は、このようになります。これはどのように行うべきですか?

+0

大量割り当てのセキュリティをバイパスしたくない場合は、正しい方法だと思います。 –

答えて

0

ここにもう少し詳しい情報が必要だと思います。私は一度に1つのレコードのより多くを作成するときにその通常他のオブジェクトのchieldと私は、私はこのことができますことを願っています。この

# Never trust parameters from the scary internet, only allow the white list through. 
def family_params 
    params.require(:family).permit(:name, users_attributes: [ :name, :email ]) 
end 

のように見えます。

ハッピーハッキング:)

関連する問題