5

que estoy usando Rails 3.2rieles de enrutamiento como github

Quiero tener encaminamiento más o menos exactamente como github, por lo que:

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

etc.

Estoy intentando algo como esto:

resources :publishers do 
    resources :magazines do 
    resources :photos 
    end 
end 

Pero eso da rutas como esta:

/publishers/1/magazines/2/photos/3 

Un proyecto que estoy viendo hace lo siguiente que parece funcionar, pero no parece ser para mí.

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 

Respuesta

4

Si desea deshacerse del número de identificación (que es por defecto rieles) y utilizar un nombre que sugieren la gema FriendlyId.

reloj esta Railscast http://railscasts.com/episodes/314-pretty-urls-with-friendlyid

y aquí está la página de GitHub https://github.com/norman/friendly_id

EDITAR

Este es el artículo que estaba buscando, me olvidé que bookmarked hace meses. http://jasoncodes.com/posts/rails-3-nested-resource-slugs

+0

parece interesante. Tendré que echarle un vistazo a eso. Me pregunto cómo se almacena internamente, y si se usa una base de datos diferente. – Ron

+1

Esto es genial. No es exactamente lo que quiero, pero será útil. Lo que más estoy buscando es cómo funciona Github. Para que no necesites una URL como/users/Jonovono, sino solo/Jonovono funciona. – Jonovono

+1

http://stackoverflow.com/questions/2968722/github-url-style –

0

Debe utilizar friendly_id y alcance

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