注目キーワード
  1. 機械学習
  2. プログラミング
  3. 副業
NO IMAGE

【rails入門】paramsの使い方完全マスター

テックキャンプを卒業して絶賛転職活動中のライト( @LIGHTS0602)です。

 

会員サイトやECサイトを立ち上げる時に絶対に出てくるのが新規登録、ログイン機能ですよね。

 

半年前はデータベースに保存する仕組みが分からなくてparamsの仕組みを全く分かっていませんでした。

 

最近、個人アプリを作り始めてようやく理解し始めた次第です。

 

今回はメモや復習としてparamsメソッドの使い方や仕組みについて解説していきます。

 

新規登録でDBに保存する仕組みってどうなってるの?

 

僕が最初にテックキャンプでツイッターのクローンアプリを作っている時に疑問に思ったのが、

 

「railsってどういった仕組みでDBに格納しているのだろう?」

 

ということでした。

 

新規登録からDBに格納されるまでの流れを見ていくほうがparamsについてもよく理解できるのでまずはデータの流れを見ていきましょう。

 

1.ユーザーが新規登録画面のリンクをクリックする

2.ルーティングで設定されたURLからcontrollerの命令がビューページに送られる

3.HTMLを作成してビューページをブラウザに表示する

4.ユーザーがフォームに入力し、登録ボタンを押した瞬間、createアクションによってDBに保存される

 

という流れになっていきます。

 

その時の保存に使われるのがparamsです。

 

paramsメソッドとは?

 

paramsメソッドはRailsで送られてきた値を受け取るためのメソッドです。

 

リクエストにはGETとPOSTのリクエストがあります。

 

paramsはこの中のPOSTによってデータを受け取ることができます。

 

GETの役目とは?

 

GETは指定したリソースの表現を転送するようにリクエストするメソッドになります。

 

具体的には

・情報をURL欄で検索する

・名前やメールアドレスの情報を入力する

・指定されたリンクに飛ぶ

 

などデータを取得したいときに使用されるのがGETになります。

 

POSTとは

反対にPOSTメソッドは利用して送信されたデータを受け取るメソッドになります。

 

具体的には

・送信されたデータをDBに保存する

・DBに格納されたデータを編集したり、削除、更新する

・パスワードや機密性の情報を送受信する

 

などです。

 

GETの場合はURLにデータが表示されてしまうためブラウザ履歴に残ってしまいます。

 

ですがPOSTの場合はメッセージボディ内でデータをやり取りするため履歴は残りません。

 

なのでECサイトや会員ページなどのユーザー情報、商品情報など大事な情報をDBに登録する際はPOSTメソッドを用います。

 

そしてPOSTメソッドのデータを受け取るためにparamsを使います。

 

paramsメソッドの使い方

 

では早速paramsの使い方を見ていきましょう。

 

paramsの基本的な使い方は

 

params[:カラム名]

 

として値を受け取ります。

 

また重要な情報はデータを外部でやりとりしないようにストロングパラメーターを使ってデータを受け渡します。

 

重要な情報を保存するときはストロングパラメーターを使うべし

 

ストロングパラメータとはコントローラで送られるパラメーターを外部に流すことなく安全に受け取るための仕組みです。

 

3.どうしてストロングパラメーターを使わなければいけないのか?

 

わざわざストロングパラメーターに記述しなくても良いと思いませんか?

 

ストロングパラメーターはMass Asignmentと言われるセキュリティの問題を回避するために記述します。

 

ストロングパラメーター内に記述されたDBに登録する情報は外部から見ることはできません。

 

ブラウザからストロングパラメーターを使わずになんでも値を受け入れてしまうと悪意のあるユーザーに管理者権限を奪われてしまいます。

 

それによって大事な個人情報が流出してしまう、乗っ取られて悪意のある行為をされてしまいます。

 

 

せっかく作ったWebアプリも乗っ取られてしまい、嫌な目に会うのは避けたいですよね。

 

そのためにはストロングパラメータをきちんと設定すればOKです。

 

そうすることによって外部からデーターを乗っ取られることもありませんし、ストロングパラメーターに記述することによって可読性も上がります。

 

なので大事なパラメーターはストロングパラメーターに書くようにしましょう。

NO IMAGE
最新情報をチェックしよう!
>ハッキングログ~人生をハッキングする~

ハッキングログ~人生をハッキングする~

機械学習やプログラミング、副業の情報発信メディアです。 人生を豊かにするための情報を発信していきます。

CTR IMG