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

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

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