我的Ruby应用程序被划分为不同的命名空间。 例如:free(free.domain.com),pro(pro.domain.com),vip(vip.domain.com) 在路由文件中看起来像这样:
我的Ruby应用程序被划分为不同的命名空间。 例如:free(free.domain.com),pro(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
)来将子域附加到相应的命名空间?
编辑:所以我添加了一个constraint constraints(:subdomain => "newsfeed") do
但是,当我执行pro_home_path时,我得到的链接是lvh.me/3000/pro/home,而不是pro.lvh.me:3000/home。