Rails: where does the infamous “current_user” come from?

It is defined by several gems, e.g. Devise

You’ll need to store the user_id somewhere, usually in the session after logging in. It also assumes your app has and needs users, authentication, etc.

Typically, it’s something like:

class ApplicationController < ActionController::Base
  def current_user
    return unless session[:user_id]
    @current_user ||= User.find(session[:user_id])
  end
end

This assumes that the User class exists, e.g. #{Rails.root}/app/models/user.rb.

Updated: avoid additional database queries when there is no current user.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)