基于子域的活动管理员隐藏菜单
Active Admin hide menu based in subdomain
有没有基于子域隐藏菜单的方法?
我试图在 ApplicationController 中获取请求中的子域并将其存储为全局变量以在资源中使用,但没有成功。
下面是示例
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
我认为会有帮助
您可以在您的控制器中使用 request.subdomains
,其中 return 当前请求子域的数组
subdomain docs 了解更多信息
documentation 有一个如何执行此操作的示例。
根据您提供的信息,这可能会解决您的问题:
ActiveAdmin.register Custom1 do
menu parent: "basic_entities", if: proc { request.subdomain == "foo" }
end
有没有基于子域隐藏菜单的方法?
我试图在 ApplicationController 中获取请求中的子域并将其存储为全局变量以在资源中使用,但没有成功。
下面是示例
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
我认为会有帮助
您可以在您的控制器中使用 request.subdomains
,其中 return 当前请求子域的数组
subdomain docs 了解更多信息
documentation 有一个如何执行此操作的示例。
根据您提供的信息,这可能会解决您的问题:
ActiveAdmin.register Custom1 do
menu parent: "basic_entities", if: proc { request.subdomain == "foo" }
end