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

慕田峪9158850
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個贊
請?jiān)诖颂幉榭此{(lán)色信息框:
默認(rèn)情況下,動態(tài)細(xì)分不接受點(diǎn)-這是因?yàn)辄c(diǎn)被用作格式化路由的分隔符。如果您需要在動態(tài)段中使用點(diǎn),請?zhí)砑右粋€覆蓋該點(diǎn)的約束-例如,:id => /[^\/]+/允許除斜杠之外的任何內(nèi)容。
例如,將是:
get "/:user/contributions" => 'users#contributions', :constraints => { :user => /[^\/]+/ }

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