重定向和通配路由

如果你想為使用者提供方便的 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