我们的应用程序上有一些命名空间控制器。
这很容易做到:
/store/pants
/store/shirts/2
在多租户环境中,我们希望这样做:
/:tenant_slug/hats
/:tenant_slug/hats/3
/jims-discount-apparel/gloves
让这些路由映射到命名空间控制器:
Store::HatsController
Store::GlovesController
我们不将使用/store/:tenant_slug/hats
我希望任何以:tenant_slug开头的路由映射到Store
命名空间中的相应控制器。
我们在Store
下有几个控制器,我们希望避免在routes.rb
中列出所有控制器(帽子,手套,衬衫,裤子......等等)。 < / p>
我试图使用match
,但我无法正确使用它。
答案 0 :(得分:1)
这不起作用吗?
get '/:tenant_slug/hats', to: 'store/hats#index', as: 'hats'
应该生成以下路由,并且params [:tenant_slug]将包含URI的那一部分:
hats GET /:tenant_slug/hats(.:format) store/hats#index