From 538951a4d0ae4b680d3e2c9b586bb85c3ded1584 Mon Sep 17 00:00:00 2001 From: pushkar1995 Date: Wed, 6 Dec 2023 17:33:10 +0545 Subject: [PATCH] Add required configuration to development.rb and generate devise User --- app/models/user.rb | 4 ++ config/environments/development.rb | 2 +- config/routes.rb | 1 + .../20231206114648_add_devise_to_users.rb | 51 +++++++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20231206114648_add_devise_to_users.rb diff --git a/app/models/user.rb b/app/models/user.rb index 44a7a20..5e8cc5c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,4 +1,8 @@ class User < ApplicationRecord + # Include default devise modules. Others available are: + # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable + devise :database_authenticatable, :registerable, + :recoverable, :rememberable, :validatable has_many :categories, dependent: :destroy, foreign_key: :author_id has_many :payments, dependent: :destroy, foreign_key: :author_id diff --git a/config/environments/development.rb b/config/environments/development.rb index 2e7fb48..081fd4f 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -2,7 +2,7 @@ Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. - + config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } # In the development environment your application's code is reloaded any time # it changes. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. diff --git a/config/routes.rb b/config/routes.rb index a125ef0..6304191 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,5 @@ Rails.application.routes.draw do + devise_for :users # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500. diff --git a/db/migrate/20231206114648_add_devise_to_users.rb b/db/migrate/20231206114648_add_devise_to_users.rb new file mode 100644 index 0000000..c919694 --- /dev/null +++ b/db/migrate/20231206114648_add_devise_to_users.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +class AddDeviseToUsers < ActiveRecord::Migration[7.1] + def self.up + change_table :users do |t| + ## Database authenticatable + t.string :email, null: false, default: "" + t.string :encrypted_password, null: false, default: "" + + ## Recoverable + t.string :reset_password_token + t.datetime :reset_password_sent_at + + ## Rememberable + t.datetime :remember_created_at + + ## Trackable + # t.integer :sign_in_count, default: 0, null: false + # t.datetime :current_sign_in_at + # t.datetime :last_sign_in_at + # t.string :current_sign_in_ip + # t.string :last_sign_in_ip + + ## Confirmable + # t.string :confirmation_token + # t.datetime :confirmed_at + # t.datetime :confirmation_sent_at + # t.string :unconfirmed_email # Only if using reconfirmable + + ## Lockable + # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts + # t.string :unlock_token # Only if unlock strategy is :email or :both + # t.datetime :locked_at + + + # Uncomment below if timestamps were not included in your original model. + # t.timestamps null: false + end + + add_index :users, :email, unique: true + add_index :users, :reset_password_token, unique: true + # add_index :users, :confirmation_token, unique: true + # add_index :users, :unlock_token, unique: true + end + + def self.down + # By default, we don't want to make any assumption about how to roll back a migration when your + # model already existed. Please edit below which fields you would like to remove in this migration. + raise ActiveRecord::IrreversibleMigration + end +end