[英]Rails Routing with Optional Params on Root URL
我正在開發一個允許用戶訪問根網址的應用程序,例如: http://localhost:3000/param_here
我的路線的設置如下:
match '/:test' => redirect { |params| "/?id=#{params[:test]}" }
問題是我的其他路線也被拾取並被重定向。
完整的Route.rb
Myapp::Application.routes.draw do
match '/:test' => redirect { |params| "/?id=#{params[:test]}" }
match '/aboutus', to: 'pages#aboutus', as: "about_us"
# Set the Home Page to a static page
root :to => 'pages#home'
end
因此,如果用戶訪問/aboutus
,則重定向會將其/aboutus
,並假定應將其設置為id
。 我仍然想使用常規路線來實現這種重定向
您是否嘗試過將/ aboutus路線規則移至
match '/:test' => redirect { |params| "/?id=#{params[:test]}" }
規則在您的路線文件中?
路線從上到下流動,因此,如果您使用可選參數將/ about路線移到路線上方,則它將您的請求分派到第一個匹配的路線,在這種情況下為/ aboutus路線
match '/:test' => redirect { |params| "/?id=#{params[:test]}" }, :defaults => { :id => '#{params[:test]}' }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.