我有以下路线: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中更改它会更有效,而不是更改我的应用中的每一个链接。 –