目次
- ログインとは
- ログインの流れ
- ログインの手順1
- ログインの手順2
- ログインの手順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(データベース内から一致するものを見つける)