2013-05-04 76 views
0

我的網址是http://www.example.com/players/playersdetail/100006我有 有一個玩家控制器。我需要刪除或隱藏控制器和URL 方法名(播放器/ playersdetail),我的ID的地方 想要的域名(100006)從Rails中的URL中刪除controller_name

  1. EX- http://www.example.com/gagan-gupta
  2. EX- http://www.example.com/gagan-gupta/about
  3. Ex-https://www.facebook.com/gagan-gupta/friends

如何在Ruby On Rails中實現?

路線是

Something::Application.routes.draw do 
     get "players/search" 
     post "players/search" 
     get "players/playerslist" 
     get "players/playersdetail" 
     get "players/list" 
     get "players/followers" 
     get "players/following"  
    end 

回答

1
Your::Application.routes.draw do 
    scope ":name" do 
    get '', to: 'players#show' 
    get :about, to 'players#about' 
    get :friends, to 'players#friends 
    end 
end 

Reference

1

你的routes.rb這樣的事情:

resources :players 

產生的form /entries/24225252/foo途徑。

存在一個:path參數,允許您使用默認名稱條目以外的其他參數。例如:

resources :players, :path => 'my-cool-path' 

會產生形式/my-cool-path/2012/05/10/foo.

的路線但是,如果我們傳遞一個空字符串:路徑,我們看到你正在尋找的行爲:

resources :players, :path => '' 

將產生形式的路線/2012/05/10/foo.

另外一個選項:

get ':year/:month/:day/:title' => 'some_controller#show', :as => 'players' 
    put ':year/:month/:day/:title/edit' => 'some_controller#edit', :as => 'edit_players' 
    delete ':year/:month/:day/:title' => 'some_controller#destroy', :as => 'destroy_players'