我的 routes.rb 文件:
resources :forums do
resources :discussions,
end
我的项目已全部设置好并正常运行,论坛主题的 URL 是:
localhost:3000/forums/ - (forum name using permalink) - /topics/1
我想用稍微简单一点的版本替换它:
localhost:3000/forums/ - (forum name using permalink) - /1
基本上,从 URL 中删除“主题”部分并完全禁用“/主题”——这样就无法访问它。
我已经设置了一个论坛的显示页面来显示它的主题列表。实现这一目标的最佳方式是什么?非常感谢!
最佳答案
您需要将路由添加到您的config/routes.rb
。
在我看来,最简单的方法是为 /forums/general-chat
定义默认路由。
match 'forums/:forumname/general-chat/:id => 'controller#method'
要禁用主题在的旧路由:
match 'forums/:forumname/topics/:id' => redirect("forums/%{forumname}/%{id}")
关于ruby-on-rails - Ruby on Rails - 路由 - 跳出 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10175214/