0
0
RailsHow-ToBeginner · 3 min read

How to Install Devise in Rails: Step-by-Step Guide

To install devise in Rails, add gem 'devise' to your Gemfile, run bundle install, then execute rails generate devise:install. Finally, generate a user model with rails generate devise User and run rails db:migrate to apply changes.
📐

Syntax

Here is the basic syntax to install Devise in a Rails app:

  • gem 'devise': Adds Devise gem to your project.
  • bundle install: Installs the gem and dependencies.
  • rails generate devise:install: Sets up Devise configuration files.
  • rails generate devise User: Creates a User model with Devise modules.
  • rails db:migrate: Applies database changes for users.
bash
gem 'devise'
bundle install
rails generate devise:install
rails generate devise User
rails db:migrate
💻

Example

This example shows how to add Devise to a new Rails app and create a User model for authentication.

bash
# Add Devise to Gemfile
gem 'devise'

# Install the gem
bundle install

# Set up Devise
rails generate devise:install

# Generate User model with Devise
rails generate devise User

# Run migrations
rails db:migrate

# Start Rails server
rails server
Output
Running via Spring preloader in process 12345 invoke active_record create db/migrate/20240601000000_devise_create_users.rb create app/models/user.rb invoke rspec create spec/models/user_spec.rb == DeviseCreateUsers: migrating =============================================== -- create_table(:users) -> 0.0020s == DeviseCreateUsers: migrated (0.0023s) ======================================
⚠️

Common Pitfalls

Common mistakes when installing Devise include:

  • Not running bundle install after adding the gem.
  • Skipping rails generate devise:install, which sets up important configs.
  • Forgetting to run rails db:migrate after generating the User model.
  • Not configuring the default URL options in config/environments/development.rb as Devise requires.

Always follow the steps in order to avoid errors.

bash
### Wrong: Skipping devise install step
# gem 'devise'
# bundle install
# rails generate devise User
# rails db:migrate

### Right: Include install step
# gem 'devise'
# bundle install
# rails generate devise:install
# rails generate devise User
# rails db:migrate
📊

Quick Reference

Summary of commands to install Devise:

CommandPurpose
gem 'devise'Add Devise gem to Gemfile
bundle installInstall gems
rails generate devise:installSet up Devise configs
rails generate devise UserCreate User model with Devise
rails db:migrateApply database changes

Key Takeaways

Add 'devise' gem and run 'bundle install' before generating Devise files.
Always run 'rails generate devise:install' to set up necessary configs.
Generate a User model with Devise using 'rails generate devise User'.
Run 'rails db:migrate' to update the database with Devise tables.
Follow the steps in order to avoid common setup errors.