既にUserモデルがあるんだけど、deviseでUserモデルを作成するときはどおすればいいんだろう?
結論:普段通りdeviseを導入する形で大丈夫です🙆♀️
導入前
db/schema.rb
create_table "users", force: :cascade do |t|
t.string "name"
t.integer "age"
t.string "sex"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
手順
既にUserモデルが存在します。
- gemfileにdeviseの追加
- bundle install
- deviseのインストールする
rails g devise:install
- deviseでUserモデルのインストールする
rails g devise User
- rails db:migrate
4.の時点でuser.rbにインサートされているのが分かります。
create db/migrate/20191021010023_add_devise_to_users.rb
insert app/models/user.rb
route devise_for :users
❇︎モデルの新規作成か否かはrailsが判断してくれるそうです
❇︎既にあるUserモデルのカラムと被りが合った場合はmigrationに失敗するらしいです
導入後
db/schema.rb
create_table "users", force: :cascade do |t|
t.string "name"
t.integer "age"
t.string "sex"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end