有一种方法可以隐藏基于子域的菜单吗?
我试图在ApplicationController中获取请求中的子域并将其存储为全局变量以在资源中使用,但是不起作用。
documentation有一个如何做到这一点的例子。
使用您提供的信息,这可以解决您的问题:
ActiveAdmin.register Custom1 do
menu parent: "basic_entities", if: proc { request.subdomain == "foo" }
end
你可以在你的控制器中使用request.subdomains
返回当前请求子域subdomain docs的数组以获取更多信息
这是下面的例子
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
我认为会有所帮助