Просто короткая заметка. Я хотел выяснить, вошел ли пользователь с правами администратора, и если да, предоставить некоторые полезные ссылки и информацию на общедоступной странице, чтобы администратор мог быстро перейти к разделу администратора для редактирования ресурса.
Однако если вы создаете пользователя как AdminUser (следуя инструкциям по началу работы с ActiveAdmin), то методы user_signed_in? и current_user равны admin_user_signed_in ? и current_admin_user .
Так, например, в публичном представлении для отображения поста (views / posts / show.html.erb) я могу использовать (упрощено для ясности)
<div id='show_post_<%= @post.id %>'>
<h2><%= @post.title %></h2>
<div class='post_author'>by: <%= @post.author%></div>
<% if admin_user_signed_in? %>
<div class='admin_links'>Put links to admin pages for:
<%= current_admin_user.email %>
</div>
<% end %>
<div class='post_body'>
<%= raw @post.content %>
</div>
</div>
Я ожидаю, что имена методов будут сгенерированы на основе того, что вы использовали при настройке пользователей в ActiveAdmin или Devise (если вы назвали свою пользовательскую модель Vip, тогда метод будет vip_signed_in? ).