mdh
mdh

Reputation: 418

Show custom message only on sign_in

I am trying to figure out how I can show a custom "Welcome back" message in my view when a user signs in within my application.

I am currently using Devise to handle all of this and I can't seem to figure it out. Any help would be really appreciated.

Upvotes: 2

Views: 645

Answers (1)

Richard Peck
Richard Peck

Reputation: 76784

Flash

You'll want to use the flash system to create a "notice" that will be fired on the sessions#create controller of Devise:

#config/routes.rb
devise_for :user, controllers: { sessions: "users/sessions" } #=> add extra method to your sessions controller

#app/controllers/users/sessions_controller.rb
Class Users::SessionsController < Devise::SessionsController
   after_action :welcome_message, only: :create

   private

   def welcome_message
      flash[:notice] = "Welcome Back"
   end
end

This allows you to create a "Welcome Back" message, which will be inserted after the create method in your SessionsController. Nothing is overwritten in Devise - you're just adding a flash message after the user signs in

Upvotes: 3

Related Questions