ゴール:
トップページから新規登録ページに遷移し、正しく登録できるとトップページに戻るように実装する。
このゴールを達成する為に、実装過程をいくつかに分けて説明していきたいと思います。
実装過程:Userモデルとテーブルを作成する
①deviseのインストール
deviseのインストール方法については、前回の記事に書きましたので、それをご参照ください。
②Userモデルを作成する。
まず、deviseでUserモデルを作成します。
モデルを作成する為には、
「% rails g devise モデル名」を実行します。
今回は、「Userモデル」なので、「rails g devise user」とコマンドを入力することにより、モデルが作成されます。
上記のコマンドを実行すると、モデルの作成意外にも、「マイグレーションファイル」、「ルーティング」が自動生成されます。
マイグレーションファイルは、
config/db/migrateディレクトリの中に生成されます。
「2020XXXX_devise_sreate_user.rb」というようなファイルです。
ルーティングは、
configディレクトリに「routes.rb」というファイルがあります。
*railsで新規アプリを立ち上げる際に、自動で生成されます。
そのファイル内に「devise_for users」というルーティングが設定されます。
③テーブルを作成する。
先ほど生成されたマイグレーションファイルを編集して、テーブルを作成していきます。
「rails g devise user」で生成されたマイグレーションファイルには、デフォルトで
「メールアドレス」と「パスワード」のカラムが設定されています。
また「t.timestamps null: false」という記述があり、これは、レコードの作成日時と更新日を管理する為のカラムが設定されています。
ユーザー管理機能に必要なその他の「ユーザー名」、「プロフィール」などを必要に応じて記述していきます。
記述方法は、下記の通りになります。
『t.カラムの型 :追加したいカラム名』
そのあとに条件として、「カラムの名が空ならば、登録できない」という意味で、
「null: false」と記述する。
④マイグレーションの実行
「% rails db:migrate」を実行して、テーブルにマイグレーションファイルを反映させる。
今回は、モデルとテーブルを作成しました。
次回は、作成したモデルにバリデーション(制限)をかける実装を行っていきたいと思います。
次回もよろしくお願いします。