Ruby on Rails: Modificando tela de acesso negado Acl9

Post rápido hoje. Quando implementamos o acl9 para gerenciar 'roles' no sistema nos deparamos com a tela abaixo quando usamos um usuário sem permissão para executar uma ação dentro do sistema.



Para resolver isso é muito simples.
Basta adicionar o codigo abaixo no /controllers/application_controler.rb:

rescue_from 'Acl9::AccessDenied', :with => :negar_acesso

def negar_acesso
if current_user
render :template => 'acesso_negado'
else
flash[:notice] = 'Acesso negado. Você precisa estar logado.'
redirect_to login_path
end
end

Agora basta criar o arquivo acesso_negado.html.erb na raiz das views (/view/acesso_negado.html.erb) e adicionar uma mensagem de erro personalizada.

Até!

Share this post!

Bookmark and Share

1 comentários:

Gabriel disse...

Muito bom, realmente essa tela de Acesso Negado padrão do Acl9 é horrível e também não tinha conseguido fazer um desvio para uma coisa melhor. Ajudou bastante!

Postar um comentário