ume

Rails ログイン機能

目次

  1. ログインとは
  2. ログインの流れ
  3. ログインの手順1
  4. ログインの手順2
  5. ログインの手順3

ログインとは

⇨サイトを操作しているユーザーが誰であるかが判別できる状態のこと

ログインのメリット⇨ユーザーごとにユーザーに合わせた情報を提供できる

例 YouTube ⇨一人一人の好みに合わせた動画が表示される。

ログインの流れ

手順1 ログインページの作成

手順2 ログインページからメールアドレスやパスワードなどの情報をRailsに送信

手順3その情報を元に操作しているユーザーを特定し、ログイン状態にする。

ログインの手順1

手順1 ログインページの作成(ルーティング、アクション、ビューを追加する。データベースにカラムの追加)

ルーティングの作成 get “URL” => コントローラ名#アクション名 アクション名の追加

アクションの追加Controllerファイルで def アクション名 end と記載

ビューの追加 Viewフォルダーの中で右クリックでファイルを追加する。

データベースにカラムの追加 ターミナルで rails g migration ファイル名 Changeアクションの中でadd_column : テーブル名, :カラム名, データ型

Rails db:migrate

ログインの手順2

手順2 ログインページからメールアドレスやパスワードなどの情報をRailsに送信 フォームに入力された内容をコントローラに送信できるようにする。 ⇨ルーティングとアクションの追加 ⇨html.erb内にform_tagメソッドで入力内容を↑で作ったルーティングのurlに指定して送る。form_tagメソッドでURLを指定する際はroutingではpostと明記する。またフォームに入力された値がRails側(コントローラ側)に送信されるように、inputタグにname属性を追加しましょう。name属性をつけるとコントローラに送られる。

ログインの手順3

手順3その情報を元に操作しているユーザーを特定し、ログイン状態にする。 ⇨ユーザーの特定をする、特定したユーザーでログインにする

ユーザーを特定する=formに入力されたメールアドレスとパスワードに一致するユーザーをデータベースから取得し変数@userに代入しコントローラに返す。formに入力されたメールアドレスとパスワードはParams[:emai]とparams[:password]で受け取れる。 コントローラで @user = User.find_by(email:params[:email]), password:params[:password]の意味はフォームから受け取ったemailをfind_by(データベース内から一致するものを見つける)