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