Rails 4ドキュメントの強力なパラメータのすべての例で使用
params.require(:person).permit(:name, :age)誰かが解体とで何が起きているかを説明してもらえますrequireし、permitここに?
Rails 4ドキュメントの強力なパラメータのすべての例で使用
params.require(:person).permit(:name, :age)誰かが解体とで何が起きているかを説明してもらえますrequireし、permitここに?
回答:
paramsハッシュのようなコントローラのルックスで、それが実際のインスタンスのActionController::Parametersようないくつかの方法を提供、requireなどをpermit。
このrequireメソッドは、特定のパラメーターが存在することを確認します。指定されていない場合、requireメソッドはエラーをスローします。にActionController::Parameters渡されたキーのインスタンスを返しますrequire。
このpermitメソッドはパラメーターオブジェクトのコピーを返し、許可されたキーと値のみを返します。新しいActiveRecordモデルを作成すると、許可された属性のみがモデルに渡されます。
以前はActiveRecordモデルに含まれていたホワイトリストによく似ていますが、コントローラーに含める方が理にかなっています。
true、permitted?メソッドに応答します。デフォルトでは、インスタンスのActionController::Parametersクラスが返されますfalseためにpermitted?応答trueするpermitted?パラメータオブジェクトは、質量割り当てに使用できることを意味します。そうでない場合、アプリはForbiddenAttributesエラーをスローします。
                    permitオンrequireにすると、必要なパラメーターが許可され、返されるオブジェクトに含まれますか?
                    より正確に言うと、たとえば、やって.new(...)、そこにする必要があり:person、ハッシュが必要と人のハッシュのみを受け入れるで示さ:name及び:age許可証で示されます。
例:
.new(person: { name: "Bhojendra", age: 32 }) // okay
.new(person: { name: "Rauniyar" }) // okay
.new(person: { name: "Bhojendra", other: 'asdf' }) // not okay, other not permitted
.new(person: { full_name: "Bhojendra Rauniyar" }) // not okay, full_name not permitted
.new(detail: { name: "Bhojendra", age: 32 }) // not okay, must be person
not okay例は何を視覚化しますか?
                    
permitいrequireます。