gpt4 book ai didi

ruby-on-rails - Ruby on Rails 将通配符子域路由到 Controller /操作

转载 作者:行者123 更新时间:2023-12-04 06:26:25 25 4
gpt4 key购买 nike

我动态创建形式为 username.users.example.com 的 URL :

bob.users.example.com
tim.users.example.com
scott.users.example.com

全部 *.users.example.com请求应该转到特定的 Controller /操作。我如何在 routes.rb 中指定它?

www.example.com 的所有其他请求转到我 routes.rb 中的正常路线列表文件。

更新 : 我看 railscast about subdomains它显示了以下代码,这似乎正是我需要的(更改了 Controller 和子域):
match '', to: 'my_controller#show', constraints: {subdomain: /.+\.users/}

问题是它只匹配根 URL。我需要它来匹配每个可能的 URL 与 *.users子域。所以很明显我会把它放在我的顶部 routes.rb文件。但是我如何指定一个包罗万象的路线?是不是很简单 '*' ?或 '/*' ?

最佳答案

我认为,您只需要执行以下操作:

创建类(class) Subdomainlib :

  class Subdomain  
def self.matches?(request)
request.subdomain.present? && request.host.include?('.users')
end
end

并在您的 routes :
constraints Subdomain do
match '', to: 'my_controller#show'
end

关于ruby-on-rails - Ruby on Rails 将通配符子域路由到 Controller /操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19359260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com