昨日はYouTubeのせいで更新できませんでした。肉体労働者です。
今日もポートフォリオ作成を行っていくっ
前回
前回Gitで管理する方法を学んで思ったんだが、ガントチャートを書き直す必要がある ざっくりとそのまま真似したのがいけなかった。。
これの実装編の部分は、ブランチ名単位で予定を組むべきであった・・
明日作り直そう!!! うん! 今日ではない!!
よし、今日はUserモデルを作る
復習がてらRailsチュートリアルを非情に参考にする。
まず、GitHubをフル活用する
% git checkout -b modeling-users Switched to a new branch 'modeling-users'
よしっ
全く一緒ではつまらないのでscaffoldを使ってみる
% rails g scaffold user name:string email:string Running via Spring preloader in process 33992 invoke active_record create db/migrate/20191207112407_create_users.rb create app/models/user.rb invoke test_unit create test/models/user_test.rb create test/fixtures/users.yml invoke resource_route route resources :users invoke scaffold_controller create app/controllers/users_controller.rb invoke slim create app/views/users create app/views/users/index.html.slim create app/views/users/edit.html.slim create app/views/users/show.html.slim create app/views/users/new.html.slim create app/views/users/_form.html.slim invoke test_unit create test/controllers/users_controller_test.rb create test/system/users_test.rb invoke helper create app/helpers/users_helper.rb invoke test_unit invoke jbuilder create app/views/users/index.json.jbuilder create app/views/users/show.json.jbuilder create app/views/users/_user.json.jbuilder invoke assets invoke scss create app/assets/stylesheets/users.scss invoke scss
ものすごい大量に作成される!
これおすすめ
いつも忘れる「Railsのgenerateコマンド」の備忘録 - maeharinの日記
ここからは一気に作りたい気持ちを抑えて慎重に作っていくっ
最初はnameとemailだけのUserモデルを作り、testを書く→エラー→モデルを書く→テストが通る。という流れを意識して書く
簡単な検証だけ真似しようと思ったがrailsチュートリアルの内容は全部重要そう(当たり前か・・)だったので全て採用した!
ここでは "まだ" オリジナリティーなど必要ない。大丈夫
Userモデルにパスワードを追加する
$ rails generate migration add_password_digest_to_users password_digest:string
Userモデル作成時にまとめて作っても良かったが、あえて分けた。
次からはまとめて野郎!
「has_secure_password と gem 'bcrypt'」
この組み合わせでパスワードをハッシュ化する
ハッシュ化することでデータベースからパスワードが盗まれても、使えないようにすることができる。
盗まれないようにできるわけではない。。
bcryptの詳細
GitHubhttps://github.com/codahale/bcrypt-ruby
RubyGemshttps://rubygems.org/gems/bcrypt/versions/3.1.12
ひとまずこんなとこ
git にcommitしてmergeする (ルー)
コメントは丸パクリする!!
$ rails test $ git add -A $ git commit -m "Make a basic User model (including secure passwords)" $ git checkout master $ git merge modeling-users $ git push
おっけいです