在 Ruby on Rails 裡實做 Controller Subdirectory

Home 程式開發 在 Ruby on Rails 裡實做 Controller Subdirectory
在 Ruby on Rails 裡實做 Controller Subdirectory
Ruby on Rails

有時候我們需要階層式的路由,可能是實做 API、區分前台後台,這個時候利用子目錄的方式收納 controller 檔案會是單純好管理的辦法。

來看一個例子,假設我們想要這樣的結構:

app/
  controllers/
    application_controller.rb
    admin/
        products_controller.rb
        customers_controller.rb
    shop/
        shops_controller.rb

adminshop 是新增加的子目錄,其中收納著我們想要的 controller。底下為了方便僅示範 admin/products 部分。

在路由設定上,我們利用 namespace 來完成階層式的路由設計:

namespace :admin do
  get 'products'  => "products#index"
end

在 controller 檔案裡我們修改最上面的第一行文字,注意大小寫以及 :: 字符

class Admin::ProductsController < ApplicationController

加入檔案 views/admin/products/index.html.erb

Hello, World

然後打開瀏覽器抵達 localhost:3000/admin/products/ 應該就可以順利看到內容了。

相關文章