Devise Gem and Hosting on Heroku

Varun Kumar S

1 min read

Welcome to my very first Blog.

Being a beginner in learning Ruby on Rails, I find Devise as a flexible authentication solution based on the Rails Engine. Devise will always allow you to have multiple models so that they are signed in at the same time.

Implementing Devise gem.

We will be implementing Devise Gem to a Patients Login app.

Step1: Create a new Rails app by running the following:

 $ rails new hospital_management

Step2: Open Gemfile in the root of the project folder and add the following to the file.

gem 'devise'

Step3: Run

 $ bundle install 

in the terminal.

Step4: Next you need to run the Generator.

 $ rails generate devise:install

Step5: Up next we should Generate a model by running the following command. here the Model is for Patients

 $ rails generate devise PATIENT

The above command will create a Migration file in the db/migrate. to run the migration file: run

 $ rails db:migrate

This will create the table in the database for the Patients.

Step6: Add before_action :authenticate_patient! to app/controllers/application_controller.rb, so that each Patient is Authenticated.

Authenticating each Patient.

Step7: Add the following lines to app/views/layouts/application.html.erb. As a result, you will get alerts and notifications.

  • <p class="notice"><%= notice %></p>
  • <p class="alert"><%= alert %></p>
Adding notification and alert feature from devise.

Step8: Push your code to a git Repository.

These kinds of Patients Database can be used in Healthcare, Clinics, etc.

Hosting in Heroku

Heroku is a container-based cloud Platform as a Service (PaaS). Developers use Heroku to deploy, manage, and scale modern Web Applications. Heroku supports several languages

Note: Heroku does not support SQLite Database. Make sure you don’t have Sqlite in Production Group in Gemfile. Add

gem 'pg' #postgreSQL Database
Adding PostgreSQL Database to production

Make sure you have an account in Heroku.

Step1: Firstly, Go to Heroku Dashboard and click the button with the text “New” at the top right corner of the dashboard and then click “Create new app“,

Click “Create new app”

This will redirect you to a page as shown below.

Step2: Give your app a Name and select a region as per your preference and click Create app which will redirect to a page as below:

I consider Heroku git as a preferable way for Deployment.

Step3: Install Heroku CLI.

Step4: Run

$ heroku login 

to log in to your Heroku account.

Step5: Run,

$ heroku git:remote -a PROJECT_NAME

, to set Heroku as a remote to your project.

Step6: After that, run the following commands.

$ git add .  
$ git commit -m "A meaning full commit message" 
$ git push heroku BRANCH_NAME

and will see your URL and “deployed to Heroku” message.

And that’s how you use Devise Gem for authentication and Host an application in Heroku.


Related posts:

Leave a Reply

Your email address will not be published. Required fields are marked *