ポテパンキャンプ Rails修行その6 〜お引越し改良〜

昨日でチュートリアルで実装できる部分が終わったので今日からは指定された機能やページの追加をしていきました!絶対にプログラミング経験者からすればこんな書き方汚いと言われるとは思いますが自分なりに調べ考え実装しました。今日からは完全に個人的な活動記録を書いていく形が多くなる予感です。今日は主に4つのことをやりましたのでまとめておきます。

続きを読む

ポテパンキャンプ Rails修行その3 〜ログイン機能〜

今日も3日目が無事に終わりましたぁ!!

本日はログインログアウト周りをやりました。

  1. ログイン機能 

まずは「ログイン機能」です! 要点をまとめていきます。Railsチュートリアルで言う8章9章あたりですね   ↓↓      ↓↓

railstutorial.jp

 まずはコントローラーの作成。Progateをやっているときはどのタイミングでコントローラー作るんだ、、なんでこの時に作るんだ、、と思っていました。明確な理由はあるとは思いますが、僕はやっていくうちに感覚で少しずつわかってきました。笑

今回はログインとログアウトだけの実装です。チュートリアルではメールアドレスとパスワードをデータベースと一致したらログインでしたが、今回はユーザーネームとパスワードの一致でログインできるようにしました!

f:id:yamasey712:20190724182136p:plain

まだまだこんなことしかできませんが少しずつアレンジを加えて行っております!

またその都度テストも自分の力で変更していくので自然にテストコードもしっかり目を通すようになるのでとても勉強になります。

次に大事になってくるのがログインしているユーザーとしていないユーザーで表示を変えると言うことです。具体的にしてない人にはログインリンクがありしてる人にはログアウトリンクがあるみたいな感じです。一見そんなことどうやるんだと感じますが、こんな時にはほとんど条件分岐を使うのでそこまで難しくありません。

f:id:yamasey712:20190724183001p:plain

こんな感じで「if文を使えば大丈夫です。」その中でぶくなりに難しいと感じる部分がこの中のメソッドはどこに定義するんだ?と言うことです。まだそこがあやふやな部分が僕の中ではあるので理解あるのみです。

9章で実装していく部分が「remember_me」です!これはセッションがすぐにきれていちいちユーザーにログインさせていたら、減っていくのは目に見えています。そこでユーザーがログアウトを選択するまでは永続的にログイン状態にします。と言う機能です。

f:id:yamasey712:20190718183258p:plain

画像的にはこんな感じですね。クッキーの中にはリメンバートークンと言うハッシュを渡しておきリメンバーダイジェストにもハッシュを渡しておいて認証する流れです。

続きを読む