deviseとcancanを使用してrails_adminを設定し、管理者のみが/adminページにアクセスできるようにしました。
しかし、使用して管理者に特定のコードのみを表示しようとすると、 user_admin<% if user_admin? %>
を取得しますか?」undefined method
for`
ability.rb
クラス能力にはCanCan::Abilityが含まれます
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.admin?
can :manage, :all
can :access, :rails_admin #grant access to rails_admin
can :dashboard #gives access to the dashboard
else
can :read, :all
end
end
end
_header.html.erb
<% if user_admin? %>
<li><%= link_to 'Settings', edit_user_registration_path %></li>
<li><%= link_to 'Logout', destroy_user_session_path, method: :delete %></li>
<% else %>
<li><%= link_to "Create Account", new_user_registration_path %></li>
<li><%= link_to "Login", new_user_session_path %></li>
<% end %>