Ruby on Rails - 从某些路由中排除单个域



在 Rails 路由中,通常我们会做约束:{domain: "example.com" } 如果我们想指定 example.com 可以拥有的特定路由。但是我如何扭转这种情况,以便每个人都可以访问它,除了 example.com

您可以创建自定义约束。如果需要,可以添加更多排除的域。

class DomainConstraint
def matches?(request)
excluded_hosts = ['example.com']
excluded_hosts.exclude?(request.host)
end
end

像这样使用它:

constraints DomainConstraint.new do
..
end

https://guides.rubyonrails.org/routing.html#advanced-constraints

最新更新