2012-07-21 35 views
0

我在Ruby on Rails中瞭解路由如何工作時遇到了一些麻煩。In rails如何將domain.com/12345動態路由到/ fetch/12345?

我試圖做到的,是擁有所有ID的域名後直接訪問, 例如

domain.com/<- ID goes here-> 

路線

domain.com/fetch/<- entered ID -> 

在正確的方向上沒有任何推動將大大讚賞。

非常感謝

+0

Rails中的路由負責將傳入請求分派給控制器操作。您不會將一個網址路由到另一個網址。我甚至不明白你在問什麼。 URL重寫?重定向?抱歉 – 2012-07-21 15:05:37

回答

0

這可能是一個壞主意;一旦你放入這個通用路由,那麼任何無法識別的URL只有一個路徑組件將最終由你的獲取方法處理。假設你理解並且可以,那麼你可以通過幾種方法做到這一點,最簡單的方法是:

我假設你已經在你的路由中有/ fetch /:id,像這樣處理/獲取請求#ApplicationController的獲取:

namespace :fetch 
    get '/:id' => 'application#fetch' 
end 

然後你就可以在你的路線是這樣的底部添加一條規則:

get '/:id' => 'application#fetch' 

這應該在最底層去,因爲你不希望它覆蓋任何更具體的單路徑組件路線。