スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス5期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

【ストロングパラメーターについて】

※記事内に提携先企業のアフィリエイト広告(リンク、バナー等)、Google広告を含む場合があります

【ストロングパラメーターについて】




背景

既存のフォームに、新たに「所属」入力フォームを追加し、値を送信しようとしたがバリデーションがかかって値を渡せず詰まったのでメモ。

質問をすると、

「ストロングパラメータってオチじゃないですか? rails tutorial 第7章 7.3.2を見ると何か発見があるかもしれません。」

とのこと。

https://railstutorial.jp/chapters/sign_up?version=5.1#sec-signup_form

以下抜粋。

paramsハッシュでは:user属性を必須とし、 名前、メールアドレス、パスワード、パスワードの確認の属性をそれぞれ許可し、 それ以外を許可しないようにしたいと考えています。 これを行うには、次のように記述します。 params.require(:user).permit(:name, :email, :password, :password_confirmation)

試してみると、そのオチでした。。

ストロングパラメーターとは簡単に言うと、 ビューからコントローラーに、安全に値を渡すための仕組み。 丸々フォームの値を渡すとセキュリティ上良くないので、許可(permit)したものだけ渡すように設定している。

コントローラーのpermit内で 送信したい属性を追加すると値を送信出来ました。

qiita.com