重定向和通配路由

如果你想为用户提供方便的 URL,而是将其直接映射到你已经使用的另一个 URL。使用重定向:

# config/routes.rb
TestApp::Application.routes.draw do
  get 'courses/:course_name' => redirect('/courses/%{course_name}/lessons'), :as => "course"
end

嗯,快得有趣。这里的基本原则是只使用 #redirect 方法将一条路线发送到另一条路线。如果你的路线非常简单,那么这是一种非常简单的方法。但是如果你想发送原始参数,你需要通过捕获%{here} 中的参数来做一些体操。注意所有内容的单引号。

在上面的示例中,我们还使用带有:as 参数的别名重命名了路由以方便起见。这使我们可以在#_path 助手等方法中使用该名称。再次,用问题测试你的 $ rake routes