Step.02 路由設定 - Azraeil/JCcart_Note GitHub Wiki
完整的code
config/routes.rb
Rails.application.routes.draw do
resources :statics, :only => [:index]
root "statics#index"
resources :items, :only => [:index, :show]
namespace :dashboard do
resources :orders
namespace :admin do
resources :items
resources :cates
resources :orders
resources :users
resources :managers
end
end
end
我們會分三層
第一層:public
public是給所有使用者
resources :statics, :only => [:index]
root "statics#index"
第一層:購物車
resources :items, :only => [:index, :show]
第二層:dashboard
dashboard是給一般使用者
第三層:admin
admin是給管理者
一個系統在打時,建議從後面打到前面,所以我們先從管理介面:admin開始打
namespace :dashboard do #第二層
resources :orders
namespace :admin do #第三層
resources :items # 要賣的東西
resources :cates # 要賣的東西的分類
resources :orders # 訂單
resources :users
resources :managers
end
end
namespace 裡面與外面的code,他的差異在於路由
namespace裡面的網址:dashboard/items/action
namespace外面的網址:/statics/action/
由於我們現在是教學示例,所以admin還是寫:admin,但你實際在做商品時,不該這樣寫,會讓你的後台容易被猜到,應該改用亂碼寫,像是:sakwejh,所以做商品時,後台路由其實該長這樣
namespace :dashboard do
resources :orders
namespace :sakwejh do
resources :items # 要賣的東西
resources :cates # 要賣的東西的分類
resources :orders # 訂單
resources :users
resources :managers
end
end