2011-05-08 88 views
1

我剛剛開始研究github中的rails 3項目,並且routes.rb文件似乎沒有遵循通常的格式(例如:map.connect'blahblahblah')。相反,它看起來像這樣:Rails路由文件看起來很奇怪

MyProject::Application.routes.draw do 

    root :to => 'content#index' 

    match '/logout' => 'sessions#destroy', :as => :logout 
    match '/login' => 'sessions#new', :as => :login 

    resources :accounts do 
    resources :users 


    member do 
     post :upgrade 
     get :cancel 
    end 
    end 

    namespace :dashboard do 
    resource :control_panel do 
     member do 
     post :show_info 
     end 
    end 
    end 

有一些更多的信息後,但我已經排除它,爲簡潔起見。有人能告訴我這個文件結構是如何運作的,特別是上面的'資源'和'命名空間'之間的區別嗎?

謝謝, gearoid。

回答

3

這是用於路由的rails 3語法。 map.connect是rails 2的語法。

Documentation for rails 3 routing.

資源創造了在軌7個CRUD操作(創建,指數顯示,更新,編輯,新建和銷燬。)命名空間可以讓你命名空間中的航路。

namespace :dashboard do 
    resource :control_panel do 
     member do 
     post :show_info 
     end 
    end 
    end 

這對儀表板命名空間下CONTROL_PANEL,如創建7條CRUD路線:

http://localhost:3000/dashboard/control_panel/new 
http://localhost:3000/dashboard/control_panel/show/1 
+0

還有'http:// localhost:3000/dashboard/control_panel/show_info/1'對不對? – Dty 2011-05-09 00:49:14

相關問題