ユーザー管理機能の実装①

ゴール:

トップページから新規登録ページに遷移し、正しく登録できるとトップページに戻るように実装する。

 

このゴールを達成する為に、実装過程をいくつかに分けて説明していきたいと思います。

実装過程: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」を実行して、テーブルにマイグレーションファイルを反映させる。

 

今回は、モデルとテーブルを作成しました。

 

次回は、作成したモデルにバリデーション(制限)をかける実装を行っていきたいと思います。

 

次回もよろしくお願いします。