2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ストロングパラメーター設定についての感動

Posted at

はじめに

ストロングパラメーターと検索して出てくる記事の再追及をした結果ものすごく感動する事実を発見。
(あくまで初心者が感動した話です。😇)

そもそもストロングパラメーターとは?

指定したkeyをもつパラメーターのみを受け取るように制限するためのもの。
悪い人が悪巧みできるように登録できないようにするのが目的。という理解をしました。

設定しないと意図しないデータの更新をされてしまいます。

対象はparamsを使用したデータの登録、更新のみとのことでした。

##呼び出し方

devise_parameter_sanitizer.permit(:deviseの処理名, keys: [:許可するキー])

このようにbeforeアクションの後ろに書いてあげる。

deviseの処理名 役割
:sign_in ログインの処理を行う時
:sign_up 新規登録の処理を行う時
:account_update アカウント情報更新の処理を行う時

keysは、ビューに記述した各フォーム部品のname属性値を記入。

<具体的にどこのこと??>

新規登録する場合だと、app/view/devise/registrations/new.html.erbの中の対象となるpassword,email以外の項目となります。
(password,emailはデフォルトで設定されてる。)

どこに感動したのか??

さて、私がどこに感動したかというとまさに一個上の記載しました、”対象となるものはpassword,email以外の項目”という所!!

要するに、新規登録する項目にpsswordとemail以外の項目を設定していたらストロングパラメーターをつけてあげてね!ってことでした!!

なんとそういうことか。。。と感動した、というお話です。

そのため、新規登録以外でもログインをするときやアカウントの更新を行う際にpasswordとemail以外の入力項目を設定する場合はストロングパラメーターをつけてあげればGOODです!!

以上ここまでです!

何か間違っている箇所等ございましたらご指摘よろしくお願いします。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?