少於 1 分鐘閱讀

namspace 是什麼?

  • 一種特定scope應用,能夠創造出一組獨立的controller、path、url Helper等。
  • 例如:
namespace :admin do
  resources :products
end

為什麼我們要用 namespace?

  • 希望有獨立於目前平台的子系統,例如對應前台的後台系統。
  • 因為名稱及對應頁面命名類似,因此加入一個命名空間是較好的做法。

如何使用 namespace?

  • 以下範例會在一個名為admin的namespace中,建立products的controller
  • 執行指令:
  • rails g controller admin::products
  • 會產生一組 * app/view/admin/products路徑
    • app/controller/products_controller.rb檔案
  • 再至routes.rb加入:
namespace :admin do
  resources :products
end

補充

  • 也可以直接設定一組首頁

http://localhost:3000/admin/ 直接導到 products#index

namespace :admin do
  root "products#index"
end

參考

  1. 領域名稱Namespace

https://ihower.tw/rails4/routing.html

留言