2010-10-17 48 views
1

我有去到使URL路徑不區分大小寫爲Rails

#works for "/profile/abc" 
/profile/:id 

但是一個軌道路線,當URL的ID是大寫

#breaks for "/profile/Abc" 
/profile/:id 

任何人都知道爲什麼它打破?

+0

很可能是您找到問題的方式。 什麼是您的數據庫? 你可以發佈你的個人資料#show action的代碼嗎? – glebm 2010-10-17 16:56:53

回答

3

您可以指定id明確約束(如果存在的Rails說 '沒有這樣的路線'),像

map.connect '/profile/:id', ..., :constraints => { :id => /.+/ } 

On constraints

然後,在你看來,你可以轉換params[:id]爲小寫。另外,如果id具有大寫字母,則可以將用戶重定向到適當的(小寫)url。

雖然,再次閱讀這個問題,我不完全明白「破」的含義。