簡體   English   中英

Rails路由像github

[英]Rails routing like github

我正在使用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 :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。

觀看這個railscast http://railscasts.com/episodes/314-pretty-urls-with-friendlyid

這是github頁面https://github.com/norman/friendly_id

編輯

這是我正在尋找的文章,我忘了幾個月前給它添加了書簽。 http://jasoncodes.com/posts/rails-3-nested-resource-slugs

您必須使用friendly_id和scope

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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