在路由重定向块中访问 Rails 路由助手

Ton*_* D. 6 ruby routing ruby-on-rails url-routing

是否有一种方便的方法来访问路由重定向块中的路由助手?

get 'new-page' => 'home#new_page', as: :new_page

get 'old-page', to: redirect(:new_page)
# or something like:
get 'old-page', to: redirect { |_, _| new_page_path }
Run Code Online (Sandbox Code Playgroud)

编辑:

此解决方案有效,但很难看:

get 'old-page', to: redirect { |_, _| Rails.application.routes.url_helpers.new_page_path }
Run Code Online (Sandbox Code Playgroud)

rla*_*mbe 0

如果您正在上面定义“新页面”的路线,那么为什么需要使用路径助手呢?这不是您所需要的吗?

get 'old-page', to: redirect('new-page')
Run Code Online (Sandbox Code Playgroud)

或者我错过了什么?

如果您需要动态分段,您仍然可以执行以下操作:

get 'old-page/:this_is_dynamic', to: redirect('new-page/%{this_is_dynamic}')
Run Code Online (Sandbox Code Playgroud)