我有一條適合我的用戶的路線/iGEL/contributions,效果很好。但是現在,一個用戶注冊的名稱類似于“ A.B.”,但由于名稱中包含點,因此路由不匹配。我的路線:get "/:user/contributions" => 'users#contributions'有任何想法嗎?
3 回答

慕田峪9158850
TA貢獻1794條經驗 獲得超8個贊
請在此處查看藍色信息框:
默認情況下,動態細分不接受點-這是因為點被用作格式化路由的分隔符。如果您需要在動態段中使用點,請添加一個覆蓋該點的約束-例如,:id => /[^\/]+/允許除斜杠之外的任何內容。
例如,將是:
get "/:user/contributions" => 'users#contributions', :constraints => { :user => /[^\/]+/ }

largeQ
TA貢獻2039條經驗 獲得超8個贊
如果您的變量段是最后一個段,則使用[^\/]正則表達式也將占用格式。在這種情況下,請使用:
/([^\/]+?)(?=\.json|\.html|$|\/)/
- 3 回答
- 0 關注
- 610 瀏覽
添加回答
舉報
0/150
提交
取消