簡體   English   中英

在根URL上使用可選參數進行Rails路由

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM