É definido por várias joias, por exemplo, Devise
Você precisará armazenar o user_id em algum lugar, geralmente na sessão após o login. Ele também assume que seu aplicativo tem e precisa de usuários, autenticação, etc.
Normalmente, é algo como:
class ApplicationController < ActionController::Base
def current_user
return unless session[:user_id]
@current_user ||= User.find(session[:user_id])
end
end
Isso pressupõe que a classe de usuário existe, por exemplo #{Rails.root}/app/models/user.rb
.
Atualizado: evite consultas adicionais ao banco de dados quando não houver um usuário atual.