我有以下路線:get '/pages/:name', to: "pages#show", as: 'page'
爲我的模型Page
。我能否自動替換某個角色?我可以自動替換我的網址中的字符嗎?
具體來說,如果一個頁面包含字符「/」的:name
,我可以自動使用「_」或最終url中的其他內容替換該字符嗎?
我有以下路線:get '/pages/:name', to: "pages#show", as: 'page'
爲我的模型Page
。我能否自動替換某個角色?我可以自動替換我的網址中的字符嗎?
具體來說,如果一個頁面包含字符「/」的:name
,我可以自動使用「_」或最終url中的其他內容替換該字符嗎?
更換
get '/pages/:name', to: "pages#show", as: 'page'
與
get '/:name', to: redirect {|path_params, _| "/pages/#{path_params[:name].gsub('/','_')}" }, as: 'page'
get '/pages/:name' => 'pages#show'
現在我得到這個錯誤:'URI :: InvalidURIError'/ '壞的URI(不是URI?):/ pages/[name]' –
你是如何訪問這個路徑的?您是否使用page_path(名稱:「____」)? – Darpa
爲什麼在'route.rb' ..你可以將它從源頭權改變? –
如果名稱有一個/字符,那麼它不會擊中該路線,除非您將斜線編碼爲'%2F' – tlehman
@ArupRakshit我想我可以,但在routes.rb中更改它會更有效,而不是更改我的應用中的每一個鏈接。 –