正在使用 activeadmin,并进行一些自定义,我正在处理一些现有的应用程序控制器/视图,我想知道,在视图中说我是否来自管理门户?
所以我有一个部分,我在我的应用程序中使用了几种方式,加上现在我也从activeadmin使用它,因此我想知道这部分是来自应用程序还是来自activeadmin,所以简而言之是url包含<host>/admin
与否。
有没有更好的办法?
正在使用 activeadmin,并进行一些自定义,我正在处理一些现有的应用程序控制器/视图,我想知道,在视图中说我是否来自管理门户?
所以我有一个部分,我在我的应用程序中使用了几种方式,加上现在我也从activeadmin使用它,因此我想知道这部分是来自应用程序还是来自activeadmin,所以简而言之是url包含<host>/admin
与否。
有没有更好的办法?
假设只有管理员用户可以通过 ActiveAdmin UI 访问部分用户,您可以查询该用户是否为管理员。如果您使用 Devise 进行身份验证,它将如下所示:
<% if admin_signed_in? %>
<%= render "your_only_admin_content %>
<% end %>
编辑:
如果您想区分管理员何时浏览常规站点或通过活动管理员,您可能需要使用嵌套布局。为此,您必须使用两种布局 - 一种用于管理员,一种用于常规站点浏览。你很可能已经是,因为你说只有部分是在两个案例之间共享的。要使用嵌套布局,请将以下内容放在部分中:
<%= yield(:admin_user) if content_for?(:admin_user) %>
在管理员使用的布局中:
<% content_for :admin_user do %>
<%= render "your_only_admin_content %>
<% end %>