Ruby on Rails - 从某些路由中排除单个域
Ruby on Rails - Excluding a single domain from some routes
在Rails路由中,通常我们做constraints: {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
在Rails路由中,通常我们做constraints: {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