Strong Parameters


はじめに

Strong Parametersに少しつまずいたので、今後のためにメモ。

Strong Parametersとは、リクエストパラメータを受け取る際に、想定通りのパラメータかをチェックするもの。

params.require(:user).permit(:name, :email)

このように使われます。

意味合い

params.require(:user)

この部分で、受け取るパラメータを指定し、

.permit(:name, :email)

この部分で、パラメータから取り出しを許可するカラムを指定しています。

まとめ

上述の例では、Userモデルから取り出せるのは、名前とメールアドレスということになり、それ以外は取り出せないようにすることで、セキュリティを担保しています。

想定外の属性を、登録・更新させたくない場合に使用します。