文系卒だけどいきなりRuby on Railsの勉強をはじめてみた #6 ユーザーのモデルを作成する
Railsチュートリアルについて調べてみると、「プログラミング経験者にとっても易しくはないレベル」とのコメントを見つけ、自分の理解度に対して安心した。
やはり1周目で理解し切るのは難しいようだ。
そんなわけで第6章をやっていく。
6.1 Userモデル
本段落ではユーザーの情報を格納するための場所をつくるっぽい。
そして、データ構造のことをモデルと呼ぶらしい。
rails generate controller hoge
でコントローラーを作成できるみたいだ。
rails db:migrate
というコマンドでマイグレーションという作業をする。
マイグレーションが何を指すかは調べてみてもよくわからない...。
とりあえず演習をしてみる。
rollback
をするといままでのものが台無しにされ、migrate
をすると原状回復されたことだけは理解した。
そして、UserクラスはApplication Recordクラスを継承していることを知る。(演習 6.1.2)
そして、どうやらsave
をすることで、データベースにUserオブジェクトを保存できるようだ。
あとは、find_by
で特定のレコードを検索したり、update_attributes
でレコード情報を更新できたりするっぽい。
6.2 ユーザーを検証する
この章では、属性に入力規則をつける。
名前は空ではいけない、メアドはフォーマットに従う、など。
そして、テストは
- 有効なモデルのオブジェクトを作成
- その属性のうち1つを有効ではに属性に変更
- バリデーションで失敗するかどうか確認
という具合に進める。
テスト用のコードでは、setup
というメソッドを利用するが、これによってここで定義したインスタンス変数はすべてのテスト内で使えるようになるらしい。
そして、valid?
メソッドを使うと、オブジェクトの有効性をテストすることが可能。
演習は難しいので、答えをガン見する。
最も基本的なバリデーションは「存在性」らしい。
これは文字通り、属性が存在することを検証する。
(nullを許容しないってこと?)
存在性の次は、長さを検証する。
ここでいう長さとは、文字列の文字数のこととほぼ同義となる。
あとは、フォーマットや一意性を検証するという感じ。
正規表現に関してはなにも読めなかった。
6.3 セキュアなパスワードを追加する
この章ではパスワードを入力させ、「ハッシュ化」ということをするらしい。
ハッシュ化とは、ハッシュ関数を使って、入力されたデータをもとに戻せない(不可逆な)データにする処理のことらしい。
ハッシュ化をするおかげで、データベースに生のパスワードを保管しなくていいため、リスク回避的になることは理解した。
もちろんパスワードの最小文字数を決めたりすることもできる。
いろいろ設定したあと、rails console
をしてユーザーを作成する。
開発環境用のデータベースをDB Browser for SQLiteで開き、usersテーブルの中身を見てみましょう、とさらっといわれるがどうやってやるのかまったくわからないので、飛ばす。
最後の演習ももうよくわからないので、答えだけみて飛ばす。
Author And Source
この問題について(文系卒だけどいきなりRuby on Railsの勉強をはじめてみた #6 ユーザーのモデルを作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/pinewellkindtree/items/8aaeda19a9bf7bcac8b0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .