Liz's Blog

17道上課筆記#11:routing 的 namespace

| Comments

namespace 是什麼?

屬於Scope的應用的一種,中文譯作命名空間。在routes.rb檔案中去界定的話,則會影響到controller、路徑、輔助方法。

為什麼我們要用 namespace?

讓routing變得乾淨好讀且好管理,藉由共通controller、網址path、URL helper移到scope成為參數。或是想建立雙層網址(Rails101 (http://courses.growthschool.com/courses/rails-101/lectures/976294))。

如何使用 namespace?

例如:第一週課程在建立後台 (http://courses.growthschool.com/courses/rails-e-commerce/lectures/429665admin/products的routes。)時,有設定

namespace :admin do
  resources :products
end

因此,

  1. controller:admin::ProductsController (app/controller/admin/products_controller)
  2. 路徑:/admin/products
  3. 輔助方法:admin_products_path

【參考資料】

  1. Rails 路由:深入淺出

【17道上課筆記系列】

  1. 17道上課筆記#1:整理撰寫 SEO 原則
  2. 17道上課筆記#2:User Story
  3. 17道上課筆記#3:列出五條 Yahoo Frontend Best Performance 最佳實務
  4. 17道上課筆記#4:Strong Parameter
  5. 17道上課筆記#5:如何讓 strong_parameter 接受 nested_attributes
  6. 17道上課筆記#6:before_action 的使用時機
  7. 17道上課筆記#7:session 與 cookie 的差別
  8. 17道上課筆記#8:為何我們要用狀態機去設計訂單狀態?
  9. 17道上課筆記#9:has_one v.s. has_many
  10. 17道上課筆記#10:render 與 redirect_to 的差異
  11. 17道上課筆記#11:routing 的 namespace
  12. 17道上課筆記#12:Callbacks
  13. 17道上課筆記#13:Service Object
  14. 17道上課筆記#14:Inheritance繼承
  15. 17道上課筆記#15:為什麼 Rails 要分production、test、development三種環境
  16. 17道上課筆記#16:什麼時機要用 helper?什麼時機要用 partial?

Comments

comments powered by Disqus