我的 ruby 应用程序分为不同的命名空间。
例如:免费(free.domain.com)、专业版(pro.domain.com)、vip(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 这样的链接时,URL 都是 pro.domain.com/home。
所以基本上,是否可以在路由文件中添加子域(类似这样namespace :vip, :subdomain => vip do
)将子域附加到相应的命名空间?
EDIT:所以我添加了一个constraint constraints(:subdomain => "newsfeed") do
但是当我执行 pro_home_path 时,链接得到的是 lvh.me/3000/pro/home 而不是 pro.lvh.me:3000/home