Rails 4路由中的重定向

时间:2016-05-10 19:28:24

标签: ruby-on-rails routing

我的网站过去常常有移动视图:

https://www.example.com/m/home

我们已经弃用了移动视图,现在我需要一种简单的方法来修剪/ m / off URL,以便请求进入正确的页面。

示例:

https://www.example.com/m/about => https://www.example.com/about
https://www.example.com/m/user/:id => https://www.example.com/user/:id

我希望在Rails路由中解决这个问题,而不必引入新的控制器操作或插入nginx。我有100多条路线。提前致谢。

Rails版本:4.2

2 个答案:

答案 0 :(得分:1)

有一个redirection module(也在the guide中记录)。

类似的东西:

get '/m/about', to: redirect('/about')
get '/m/user/:id', to: redirect('/user/%{id}')

您可以将route globbing与通用解决方案结合使用:

get '/m/*path', to: redirect('/%{path}')

答案 1 :(得分:0)

稍微重构你的路线怎么样:

例如:上一个 routes.rb

resources :users
# ...

现在,它变成了:

['m', ''].each do |sc|
  scope sc do
    resources :users
    # ...
  end
end