■
問題1の解答と解説
問題1: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
|