重新路由 Rails 中的嵌套资源

rerouting nested resource in Rails

我的路线中有这个:

resources :users do
  resources :posts
end

它创建显示路径/users/:user_id/posts/:post_id

太棒了。但是,如果有人输入 /users/:user_id/post/:post_id(注意单数 /post 而不是 /posts),那么他们会得到一个 404。我想做一个从 .../post/:post_id../posts/:post_id 在我的路线中。怎么样?

您可以通过在路由配置中使用以下内容来实现。

get '/users/:user_id/post/:post_id', to: redirect('/users/%{user_id}/posts/%{post_id}')

此处有更多信息:http://guides.rubyonrails.org/routing.html 部分:3.12 重定向