Ruby on rails 类似github的Rails路由

Ruby on rails 类似github的Rails路由,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,rails-routing,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Rails Routing,我使用的是Rails 3.2 我希望路由与github非常相似,因此: root/(username) root/(username)/(projectname) root/(username)/(projectname)/issus 等等 我正在尝试这样的事情: resources :publishers do resources :magazines do resources :photos end end /publishers/1/magazines/2/photo

我使用的是Rails 3.2

我希望路由与github非常相似,因此:

root/(username)
root/(username)/(projectname)
root/(username)/(projectname)/issus
等等

我正在尝试这样的事情:

resources :publishers do
  resources :magazines do
    resources :photos
  end
end 
/publishers/1/magazines/2/photos/3
但这样的路线是:

resources :publishers do
  resources :magazines do
    resources :photos
  end
end 
/publishers/1/magazines/2/photos/3
我正在看的一个项目做了以下工作,这似乎是可行的,但似乎不适合我

resources :projects, :constraints => { :id => /[^\/]+/ }, :except => [:new, :create, :index], :path => "/" do
member do
  get "team"
  get "wall"
  get "graph"
  get "files"
end

resources :wikis, :only => [:show, :edit, :destroy, :create] do
  member do
    get "history"        
  end
end

如果您想去掉id号(rails默认值)并使用名称,我建议使用FriendlyId gem

看这辆火车

这是github页面

编辑

这是我要找的文章,我忘了几个月前我把它放进书签了。

您必须使用

scope '/:username/:projectname', module: 'users/projects', as: 'users_project' do
    resources :issus
    resources :photos
end

看起来很有趣。我得去看看那个铁路司机。我想知道它是如何存储在内部的,以及使用不同的数据库是否重要。这很酷。不完全是我想要的,但会有帮助的。我更想了解的是github的工作原理。因此,您不需要像/users/Jonovono这样的url,而只需要/Jonovono就可以了!!工作完美。谢谢!