コントローラでは、ビューから受け取ったパラメータを別のオブジェクト(アクションを完了するために必要なロジックを処理する責任を負う)に渡そうとしていますが、私はStrongParameters
と闘っています。他のキーを削除せずにStrongParameters許可を使用する
キーに特定の値を許可し、他のパラメータを通過させる方法はありますか?
たとえば、私のRole
モデルでは、name
とactivity_ids
を許可したいと思います。
コントローラは
"role"=>{"name"=>"simple", "activity_ids"=>["", "1", "2"]},
"auth_code"=>"123", "button"=>"", "id"=>"simple"}
を取得するときにそれはそう役割が大量の割り当てを作成/更新することができます
"role"=>{"name"=>"simple", "activity_ids"=>["", "1", "2"], permitted: true},
"auth_code"=>"123", "button"=>"", "id"=>"simple"}
を渡す必要があります。それは
"role"=>{"name"=>"simple", "activity_ids"=>["", "1", "2"], "injected" => "DELETE FROM roles"},
"auth_code"=>"123", "button"=>"", "id"=>"simple"}
を受信したときに
とは、同じで、私はpermit
を使用することができます唯一の方法はrequire
た後、それを連鎖されるが、これは他のすべてのキーを削除渡す必要があります。
ありがとうございました。それが本当ならば、すべてのパラメータがデフォルトで許可されます - permit_all_parameters
permit_all_parameters
を使用して
:
あなたは 'params.require、あなたの必要性を達成するために文をチェーン必要とすることができます(:役割).require(:auth_code).require(:idは).permit'ご返信用 – Sravan