#管理者のみが特定のページや内容を見れるようするにはどうするか
管理者機能を実装し、管理者のみが特定のページを見れたり、特定の内容を表示できるようにします。
今回は管理者機能を実装する方法は省略するため気になる方は以下の記事をご覧ください。
【初心者向け】管理者ユーザーと管理者用controllerの追加方法[Ruby, Rails]
###管理者のみが特定の内容を見えるようにする
html.erb
<% if current_user.admin? %>
<%# この間に書かれた内容は管理者のみ見れる %>
<% end %>
###管理者のみが特定のページを見えるようにする
下記のコードを記述することによって、管理者以外がURLを直打ちしても特定のページを表示させないようにできます。
controller.rb
class ArticlesController < ApplicationController
before_action :admin_scan, only: [:管理者のみが実行可能なアクション]
中略
private
def admin_scan
unless current_user.admin?
redirect_to root_path #管理者以外が管理者のみ実行できるアクションを実行しようとしたときのリダイレクト先
end
end
end
#参考記事
【初心者向け】管理者ユーザーと管理者用controllerの追加方法[Ruby, Rails]
admin?メソッドを使って、簡単に管理者のみが商品出品できるようにする方法