J'ai deux vues différentes et deux contrôleurs différents dans l'application Rails que je souhaite rediriger vers un utilisateur spécifique selon que l'utilisateur est un administrateur ou non.Comment puis-je vérifier l'administrateur de l'utilisateur sur routes.rb dans Rails?
je vis poste SO comme this one où il dirige la page selon que l'utilisateur est authentifié ou non, mais je cherche quelque chose comme ça (je me sers concevoir):
#routes.rb
authenticated :user do
if user.admin
root to: "admin/first_page#index", as: :authenticated_root
else
root to "first_page#index", as: :authenticated_root
end
end
root to: "user/sign_in"
Lorsque l'utilisateur se Il vérifie les privilèges d'administrateur de l'utilisateur. Si l'utilisateur est admin, passez au admin/first_page#index
. Si l'utilisateur n'est pas administrateur, passez au first_page#index
.
Je pensais utiliser une seule page et cacher certaines fonctionnalités pour les non-administrateurs, quelque chose comme: <% if user.admin%><%= secret_admin_feature %><% end %>
pour le garder au sec, mais j'ai mes propres raisons pour lesquelles je choisis de ne pas le garder au sec dans ce cas.
Est-il possible de faire une vérification d'admin de routes.rb? Si oui, comment cela peut-il être fait? Si non, quelle est une bonne alternative?