gpt4 book ai didi

ruby-on-rails - Rails 路由、url 和子域

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

我的 ruby​​ 应用程序分为不同的命名空间。
喜欢:免费(free.domain.com),专业(p​​ro.domain.com),贵宾(vip.domain.com)
在路由文件中看起来像这样:

namespace :free do
match 'home' => 'free#home', :via => [:get, :post], :as => :home
#more routes
end

namespace :pro do
match 'home' => 'pro#home', :via => [:get, :post], :as => :home
#more routes
end

namespace :vip do
match 'home' => 'vip#home', :via => [:get, :post], :as => :home
#more routes
end

match '/about' => 'pages#about'
match '/team' => 'pages#team'
match '/press' => 'pages#press'
#more routes

我希望我在应用程序中的任何地方都有类似 pro_home_path 的链接,网址是 pro.domain.com/home。

所以基本上,是否可以在路由文件中添加一个子域(类似于 namespace :vip, :subdomain => vip do )以将子域附加到相应的命名空间?

编辑:所以我添加了一个 constraint constraints(:subdomain => "newsfeed") do
但是当我做 pro_home_path 时的链接,我得到的是 lvh.me/3000/pro/home 而不是 pro.lvh.me:3000/home

最佳答案

是的,您可以指定一个子域作为约束,例如

get 'photos', constraints: {subdomain: 'admin'}

查看有关该主题的 rails 指南: http://guides.rubyonrails.org/routing.html#request-based-constraints

要链接到特定的子域,您可以在 URL 路由助手中指定它。例如, home_url(subdomain: 'pro')可能会重定向到 http://pro.example.com/home .小心使用 _url后缀方法为 home_path不会重定向到特定的子域。

关于ruby-on-rails - Rails 路由、url 和子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21536986/

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