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

Ruby on Rails チュートリアルをやってみた【第6章】
カテゴリ
技術
タグ
ruby
ruby on rails

第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
https://github.com/nisioka/RubyOnRailsTutorial/tree/static-pages

リンク

【スポンサードリンク】


関連記事

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

    第14章の実績 第14章 ユーザーをフォローする を実施しました!実施時間: 5時間 学べたこと 多対多のリレーションシップ多対多の関係を持つモデルの場合でもRailsでは簡単にリレーションシップを表現することができます […]

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

    第13章の実績 第13章 ユーザーのマイクロポスト を実施しました!実施時間: 4.5時間 学べたこと モデルの関連付け「rails generate model Micropost content:text user: […]

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

    第12章の実績 第12章 パスワードの再設定 を実施しました!実施時間: 1.5時間 学べたこと 本章では特段新しいことはなかったです。 第11章 アカウントの有効化 と同じような内容で、復習に近いような内容でした。ただ […]

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

    第11章の実績 第11章 アカウントの有効化 を実施しました!実施時間: 1.5時間 学べたこと メール送信機能「rails generate mailer UserMailer account_activation p […]

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

    第10章の実績 第10章 ユーザーの更新・表示・削除 を実施しました!実施時間: 2時間 学べたこと before_action例えば本章では、「before_action :logged_in_user, only: […]

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

    第9章の実績 第9章 発展的なログイン機構 を実施しました!実施時間: 1.5時間 学べたこと cookies.permanent.signed[:user_id] = user.id上記コードは、「cookieに、永続 […]