0
0
Ruby on Railsframework~5 mins

Session handling in Ruby on Rails

Choose your learning style9 modes available
Introduction

Session handling lets a website remember who you are as you move between pages. It helps keep you logged in and saves your choices.

When you want users to stay logged in while browsing different pages.
To save user preferences like language or theme during a visit.
To keep track of items in a shopping cart before checkout.
When you need to store temporary data between requests without saving it in the database.
Syntax
Ruby on Rails
session[:key] = value
value = session[:key]
session.delete(:key)
session.clear

Use session[:key] = value to store data in the session.

Access stored data with session[:key]. Remove data with session.delete(:key) or clear all with session.clear.

Examples
Stores the user ID 42 in the session to remember the logged-in user.
Ruby on Rails
session[:user_id] = 42
Retrieves the stored user ID from the session.
Ruby on Rails
current_user_id = session[:user_id]
Removes the user ID from the session, logging the user out.
Ruby on Rails
session.delete(:user_id)
Clears all session data, useful when logging out or resetting session info.
Ruby on Rails
session.clear
Sample Program

This controller handles simple session management. The create action logs in a user by saving their name in the session. The show action displays the current logged-in user if any. The destroy action logs out the user by removing their name from the session.

Ruby on Rails
class SessionsController < ApplicationController
  def create
    # Simulate user login
    session[:user_name] = params[:user_name]
    render plain: "Logged in as #{session[:user_name]}"
  end

  def show
    if session[:user_name]
      render plain: "Current user: #{session[:user_name]}"
    else
      render plain: "No user logged in"
    end
  end

  def destroy
    session.delete(:user_name)
    render plain: "Logged out"
  end
end
OutputSuccess
Important Notes

Sessions use cookies to keep track of users between requests.

Do not store sensitive data directly in sessions; store only IDs or tokens.

Session data is temporary and cleared when the browser closes or after expiration.

Summary

Sessions help websites remember users across pages.

Use session[:key] to store and retrieve data.

Clear sessions to log users out or reset data.