0

正在使用 activeadmin,并进行一些自定义,我正在处理一些现有的应用程序控制器/视图,我想知道,在视图中说我是否来自管理门户?

所以我有一个部分,我在我的应用程序中使用了几种方式,加上现在我也从activeadmin使用它,因此我想知道这部分是来自应用程序还是来自activeadmin,所以简而言之是url包含<host>/admin与否。

有没有更好的办法?

4

1 回答 1

0

假设只有管理员用户可以通过 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 %>
于 2012-10-26T10:03:16.370 回答