二足のわらじ

〜プログラミングとSEOの勉強をはじめたミーハー26歳のメモ帳〜

問題1の解答と解説

問題1:userモデルを作成しましょう

模範解答

ターミナル
1
2
$ rails g devise:install
$ rails g devise user
1
2
3
4
5
6
7
8
9
class DeviseCreateUsers < ActiveRecord::Migration[5.0]
  def change
    create_table :users do |t|
      ## Database authenticatable
      t.string :name,               null: false, unique: true, index: true
      t.string :email,              null: false, default: ""
      t.string :encrypted_password, null: false, default: ""

# 〜省略〜

解説

deviseで使用するモデルは、rails g devise <モデル名>コマンドで作成できます。

ターミナル上でrails g devise Userを実行し、Userモデルを作成しましょう。

作成されたマイグレーションファイルを開き、 t.string :name, null: false, unique: trueと記述しましょう。これで、マイグレーション実行時にnameカラムがNOT NULL制約・一意性制約付きで作成されます。

最後にマイグレーションを実行しましょう。

ターミナル
1
$ rails db:migrate