現在、セールスコントローラーに次のような作成アクションがあります。
def create
@sale = Sale.new(params[:sale].except(:vehicles_attributes))
if @sale.save
redirect_to @sale, :notice => "Successfully created sale."
else
render :action => 'new'
end
end
リンクされた選択を設定するためにのみ使用され、送信されるべきではないいくつかの属性を除外することを目的としています(それらの列はありません)。
上記のコントローラーコードでは、パラメーターにまだ含まれ"sale"=>{"vehicles_attributes"=>{"0"=>{"make"=>"","model"=>""}}}
ていることがわかりました。そのため、コントローラーコードに何かが欠けているようです。
編集:もう少し掘り下げた後、フォームによって送信されるべきではないパラメータを削除する機会を例外コードが取得する前に、mass_assignment例外が発生していることがわかりました。そのため、正方形に戻ります。
mass_assignmentエラーが発生する前に、フォームから送信されるべきではないフィールドを確実に削除するにはどうすればよいですか?