Railsアプリケーションには、ユーザーが管理者であるかどうかに応じて、特定の1つにリダイレクトする2つの異なるビューと2つの異なるコントローラがあります。Railsのroutes.rbでユーザーadminを確認するにはどうすればいいですか?
私を見SOそれは、ユーザーが認証されているかどうかに応じて、ページを指示しthis oneのようにポストが、私は(私が工夫を使用しています)このような何かを探しています:
#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"
ユーザーがサインをユーザーの管理者特権をチェックします。ユーザーがadminの場合は、admin/first_page#index
にアクセスしてください。ユーザーがadminでない場合は、first_page#index
にアクセスしてください。
私は1つのページだけを使用し、管理者以外のユーザーのために何かを隠していると考えました。<% if user.admin%><%= secret_admin_feature %><% end %>
は乾燥した状態に保ちますが、この場合は乾燥しないようにしています。
routes.rbから管理者確認を行うことはできますか?はいの場合、どうすればいいですか?そうでない場合、良い選択肢は何ですか?