基于子域的活动管理隐藏菜单

问题描述 投票:1回答:3

有一种方法可以隐藏基于子域的菜单吗?

我试图在ApplicationController中获取请求中的子域并将其存储为全局变量以在资源中使用,但是不起作用。

ruby-on-rails ruby activeadmin
3个回答
1
投票

documentation有一个如何做到这一点的例子。

使用您提供的信息,这可以解决您的问题:

ActiveAdmin.register Custom1 do
  menu parent: "basic_entities", if: proc { request.subdomain == "foo" }
end

1
投票

你可以在你的控制器中使用request.subdomains返回当前请求子域subdomain docs的数组以获取更多信息


1
投票

这是下面的例子

require 'domainatrix'
url = Domainatrix.parse("#{request.host}") #=> test.example.com, will change based on request
subdomain = url.subdomain           # => "test.example"
if subdomain == 'test.example'
   // Your code staff like hiding menu
elsif subdomain == 'test1.example'
   // Your code staff like hiding menu
 // more ...
else
  // Show menu
end

我认为会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.