Ruby on Rails チュートリアルをやってみた【第6章】

シェアする

第6章の実績

第6章 ユーザーのモデルを作成する を実施しました!
実施時間: 3時間

学べたこと

  • モデルの生成方法
    「rails generate model User name:string email:string」とするだけで、”User”という”name”文字列と”email”文字列の2つの属性を持ったモデルと関連クラス(DBマイグレーション用ファイルやテストテンプレート)を作成することができます。そして「rails db:migrate」を実行することで、DBのテーブル作成までも簡単にできてしまいます。
  • Railsコンソールのサンドボックス実行
    「rails console –sandbox」とすることで、Railsコンソールでのモデル変更などによるDB影響を、終了時に元に戻して(rollback)くれます。
    自動生成コマンド:「rails generate integration_test site_layout」
    統合テスト実行コマンド:「rails test:integration」
  • has_secure_password
    このメソッドをモデルに持たせるだけで、以下の機能を使えるようになる。(ただし、 モデルにpassword_digestという属性を持っている事、 bcryptなどのハッシュ関数が使用できる事などの条件があります)
    • ハッシュ化したパスワードを、DB内のpassword_digestという属性に保存できるようになる。
    • 2つのペアの仮想的な属性 (passwordpassword_confirmation) が使えるようになる。ここで言う仮想的とは、モデル上は存在するがDBには存在しないという事を表す。
    • 存在性と値が一致するかどうかのバリデーションも追加される。
    • authenticateメソッドが使えるようになる (引数の文字列がパスワードと一致するとUserオブジェクトを、間違っているとfalseを返すメソッド) 。

独自にやったこと

「rails test:models」が動かない

「rails db:migrate RAILS_ENV=test」を実施する必要がある模様。

参考

環境

  • ruby: 2.3.3
  • ruby on rails: 5.1.4
  • OS: Windows 10 (64bit)
  • IDE: IntelliJ ULTIMATE 2018.1
  • リポジトリ:GitHub

リンク

【スポンサードリンク】

%d人のブロガーが「いいね」をつけました。