Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
从那里我看到的文档pass将自动确定控件将传递到的路由。
pass
如何将控制权传递给命名路由?
这对我不起作用:
get '/:title.:ext' do pass "/old/#{params[:title]}" if params[:ext] == 'php' # more logic end
如果您确实希望更改用户浏览器中的 URL,您可以使用redirect,或者call!如果您希望对最终用户隐藏转发,则可以直接使用(即浏览器中的 URL 保持不变,但在内部转发请求到您的应用程序中的不同路线)。
redirect
call!
所以在你的情况下,它要么是
redirect "/old/#{params[:title]}" if params[:ext] == 'php'
或者
call! env.merge('PATH_INFO' => "/old/#{params[:title]}") if params[:ext] == 'php'