0
2

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.

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

Last updated at Posted at 2019-12-13

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

フォームから値を送信したいのにDBに保存されない・・・
そんなときにみるポイントの一つがストロングパラメーターです。

ストロングパラメーターとはざっくりいうとセキュリティーのことです。
まず、ビューのフォームで入力された値はparamsでコントローラーに送られます。
その際に許可していない不正のparamsを受け取らないようにするのがストロングパラメーターになります。
メリットとして、意図しないデータを受け取らないようにできることや、管理者のみ変更できるデータの変更を外部から変更されることを防ぐなどがあります。

以下、ストロングパラメーター例文

tweets_controller.rb
  def tweet_params
    params.require(:tweet).permit(:text,:image)
  end

今回はtweets_paramsというメソッドでストロングパラメーターを定義しています。
requireの部分で何の値を受け取るのか、
permitrequireで指定した値の中からどのカラム値を許可するのかどうかを定義しています。
今回の場合tweetsテーブルのtextカラム,imageカラムのみ受け取るという状態になります。

セキュリティーとして非常に大切なものになりますが、受け取りたい値の誤字、脱字によってDBに保存されないことが起こりうるので、気をつけて使いましょう。

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?