ruby-on-rails - Ruby on Rails - 路由 - 跳出 URL

标签 ruby-on-rails ruby-on-rails-3 seo routes

我的 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}")

rails routing guide太棒了!

关于ruby-on-rails - Ruby on Rails - 路由 - 跳出 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10175214/

相关文章:

seo - 在 <head> 部分之外使用搜索引擎元标记

ruby-on-rails - Ransack:如何使用现有范围?

regex - 将旧域重定向到新域的主页

ruby-on-rails - Ruby on Rails 中多对多的正确实现?

mysql - Rails 时间戳 : complex order by updated_at/created_at

ruby-on-rails-3 - 在 ruby​​ on rails 中从头开始进行照片标记?

mysql - 我想在 Joyent 上从 mysql 升级到 mysql2

redirect - 仅对网站上的某些内容使用 301 最终会删除这些页面?

ruby-on-rails - 在 Ruby on Rails 应用程序中开发和测试缓存的最佳方法是什么?

ruby-on-rails - 上传到 s3 时图像损坏,仅限生产。 (载波,发动机厂)