Bonjour, tout le monde !
Pour mon application, j'ai plusieurs rôle
Users = 1 / Modos = 2 / Admin = 3
Du coup avec devise j'ai ajouter un champ role en integer ^^
Le problème c'est qu'avec Rails admin lorsque je souhaite accéder à l'admin lorsque je suis connecter et que j'ai le bon role je suis automatiquement rediriger comme ci j'était simple utilisateur ou visiteur.
# rails_admin.rb
if current_user.nil?
redirect_to '/posts'
elsif current_user.role == 2
redirect_to main_app.root_path
else
redirect_to '/posts'
end
Pour moi je ne vois pas d'erreur dans l'authorisation ^^
Pourquoi me redirige t-il ?
Merci de votre aide
Et si tu debug la variable current_user il y a quoi dedans?
puts YAML::dump(current_user)
(Je ne savais pas le faire du coup je te l'ai mise au cas ou ^_^ )
EDIT: pourquoi redirect vers '/posts' dans le else? Et je pense que tu devrais faire l'inverse, d'abord les cas spécifiques (admin, modo, etc) et le reste dans le else
Bonsoir.
Est-ce spécifique à Rails elsif
au lieu de elseif
ou bien est-ce une faute de frappe ?
@Lartak j'avoue que c'est déstabilisant quand on vient de php, par exemple le elsif ^^, mais je ne pense pas m'être tromper sur ce point :)
@TransientDev pour le debug, j'ai juste rails qui me ressort les infos de l'utilisateur admin ^^ avec le role : 2