gpt4 book ai didi

ruby-on-rails - Rails 路由 : redirect an entire resource

转载 作者:行者123 更新时间:2023-12-03 16:28:51 26 4
gpt4 key购买 nike

我知道重定向特定路线:

put 'users/:user_id', to: redirect('/api/v1/users/:user_id')

我将如何将重定向应用于 resources 生成的所有路由?寻找类似的东西
resources :users, to: redirect('/api/v1')

我可以使用 match 实现一种解决方法,但它有点笨拙:
match 'users/*path', to: redirect('/api/v1/users/%{path}'), via: [:GET, :POST, :PUT, :DELETE]

最佳答案

我最近改名为 provider_apps资源到 apps使用以下代码,它保留了查询参数,与问题中提出的解决方案不同:

# routes.rb
get 'provider_apps/:slug', status: :moved_permanently, to: redirect { |path_params, request|
query_string = URI(request.url).query
"/apps/#{ path_params[:slug] }#{ "?#{ query_string }" if query_string }"
}
灵感来自 the block example in Rails routing docs .您还有 request.query_parameters如果这与目标路由相关,则可用于获取查询参数的哈希值。

关于ruby-on-rails - Rails 路由 : redirect an entire resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37658423/

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