Rails - Redirecionando Para Uma Página Específica De Acordo Com A Permissão Do Usuário, Após O Login

Isso é algo bem simples de ser feito, apenas adicionando esses métodos dentro do ApplicationController:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private
  
  def stored_location_for(resource_or_scope)
      nil
  end

  def after_sign_in_path_for(resource_or_scope)
    if resource_or_scope.role == 'admin'
      admin_url
    elsif resource_or_scope.role == 'user'
      users_url
    else
      root_url
    end
  end

O que ele faz é bem simples de acordo com a permissão do User ele vai para uma página específica, senão para index da aplicação.

Poderia ser feito também com case do Ruby lol.

Comments