2013-05-04 77 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'