2011-10-21 49 views
0

在我的網址,我想Rails的條件路由

localhost/12345被路由到/client/information/12345

不過,我也希望用戶能夠調用

/client/client/index

我無法做到這一點

match ':id' => 'client#information'

因爲那時所說的「客戶」將被設置爲我怎樣才能創建一個將要/client/information有條件路線如果ID是數字,否則轉到/client/index

+0

當你說你想將'a'路由到'b'時,你的意思是你想'a'重定向到'b',還是希望它執行通常由' B'?因爲您爲這兩個示例提供了URL,這意味着重定向,但您的部分解決方案意味着您要呈現該操作。 – Emily

回答

2

一個路由的params[:id]

值要爲部分路線添加約束,請使用:constraints選項。例如:

match ':id' => 'client#information', :constraints => { :id => /\d+/ } 

查看Rails路由文檔的segment constraints部分。它會解釋更多細節。