rails中是否有一种方法可以从url路径的第二部分开始路由?
例如localhost:3000/tenant_name/posts
的{{1}}
tenant_name是我数据库中架构的名称。我想使用tenant_name切换到相应的租户。
当我现在运行此命令时,它将获得resources:posts
即使将“ tenant_name”替换为任何tenant_name,我也需要访问帖子。
答案 0 :(得分:2)
使用scope,不带任何选项,仅使用作用域名称,只会更改资源路径。
scope :sometext_here do
resources :posts
end
这将生成类似于-的URL
Prefix Verb URI Pattern Controller#Action
posts GET /sometext_here/posts(.:format) posts#index
POST /sometext_here/posts(.:format) posts#create
post GET /sometext_here/posts/:id(.:format) posts#show
PATCH /sometext_here/posts/:id(.:format) posts#update
PUT /sometext_here/posts/:id(.:format) posts#update
DELETE /sometext_here/posts/:id(.:format) posts#destroy
替代使用方式-
get '/:dynamic_text/posts' => 'posts#index', as: :all_posts
因此可以用作
all_posts_path(dynamic_text: "sometext_here")