💎 Railsチュートリアル〜15(8/29の積み上げ)
作成日: 2021/08/29
0

6章続き( 4日目)

6.3 セキュアなパスワードを追加する

ハッシュ関数を使って、入力されたデータを元に戻せない(不可逆な)データにする処理を指します。

  • 生のパスワードは保存しないってこと

6.3.1 ハッシュ化されたパスワード

  • セキュアなパスワードはRailsのメソッドで実装できる
  • …う〜んと、カラムも勝手に追加されるのかなコレ?
  • あ、違う。rails generateで追加するっぽい
  • …Progateの時のモヤっとが出てきた!
    • 1つのテーブルに新規でカラムを追加する場合は毎回migrationファイルを作成するってことかなこれ? 大変じゃない?(増えすぎちゃわない?)
  • rails generate [作成するmigrationファイル名=クラス名] [カラム名:型名]
    • …↑のコマンドでなんでuserテーブルへの指定ってわかるんだろう?記法ががっちり固められてるってことかなぁ?
  • 適用するには rails db:migrate を忘れずに!!
  • Gemfileって必要なものは適宜追加していくスタイルなんだね…(最初に一括定義して終わりかと…)
  • 1章最後のエラー(解決に1週間かかった)がトラウマになってるせいでbundle installでロード中のコードが流れるとドキドキしてうっかりときめく…吊り橋効果?

6.3.2 ユーザーがセキュアなパスワードを持っている

  • userモデル内でRailsのメソッドでセキュアなパスワードを実装すると…
    • テストで落ちる
    • 仮想的なpassword属性と〜 @user 変数にこのような値がセットされておりません。

    • ↑ちゃんと埋めよう〜

6.3.3 パスワードの最小文字数

  • user_test.rbにテストを書いた後、エラー(RED)になるかどうかrails testするクセもつけよう
  • その後テストが通るように(正しい)コードの追加と変更を行ってからrails testしてGREENになるかどうか確認する

6.3.4 ユーザーの作成と認証

  • Web上からのユーザー登録ができない(まだ作成してない)からrails consoleで User.newしてる
  • …MacOSが古すぎてDB Browser for SQLite がインストールできず…

authenticateがUserオブジェクトを返すことは重要ではなく、返ってきた値の論理値がtrueであることが重要です。

  • 判定するために必要だから、ってことかな?

!!でそのオブジェクトが対応する論理値オブジェクトに変換できる

  • ですね。

6.4 最後に

  • git merge とgit push とgit push heroku は毎度ときめく…(待機中ドキドキしっぱなし…)
  • Cloud9から Heroku に rails consoleまでできるとわ!(さすがにレスポンスにタイムラグはあるけど…)

あと2日で7章終わる気がしない件

だんだんネタっぽい書き方になってきていますが気のせいです
一応ちゃんとチュートリアルやりながらメモってます!😅
ただ 「楽しまないと続かない」 ので後で読み返した時に
「自分が楽しむためのネタが満載」 なのは否めません…

SJC-P1.4/心理学検定特1級所持 過去:専門学校で非常勤講師(複数) 現:フリーター/2児の子持ち/家庭教師バイト中 Doing:#HTML #CSS #JavaScript #Ruby #Rails #心理学@放送大学(心理と教育コース) Webアプリを開発したくて日々勉強中