2016-11-23 55 views
-1

我試圖建立一個管理面板到我的導軌應用程序,但想讓我的管理控制器遠離我的其他控制器。無論如何,我可以有一個管理文件夾在我的應用程序文件夾,其中包含管理員的東西只是控制器。控制器到完全不同的目錄

在此先感謝。

回答

4

是的,當然。

您可以將所有與管理相關的控制器放在app/controllers/admin/目錄中。

1

是的,你可以通過在管理模塊下命名你的控制器來做到這一點。

設置它的最簡單方法是使用Rails生成,並以「admin」的前綴,你的資源:

rails generate controller admin/user 

類型rails g controller具體幫助。

下面是更多的信息引導的頁面:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

+0

感謝您的回答,但我希望我的控制器目錄完全可以在控制器目錄之外,所以/ app/admin而不是/ app/controllers/admin –

+0

您可以使用引擎:http://guides.rubyonrails.org/engines.html – mysmallidea

0

如果你想保持你的管理完全分開,你可以使用一個引擎。要生成引擎,這樣做:

rails plugin new admin --mountable 

然後在你的主應用程序的路線文件,你可以安裝引擎:

mount Admin::Engine => "/admin" 

關於引擎完整的詳細信息,請參閱http://guides.rubyonrails.org/engines.html

0

這很簡單,通常將它們放在app/controllers/admin之內是有意義的,但如果使用這個,則需要使用命名空間。 Rails會自動加載這些類。

這是一個很好的做法,使每個命名空間的ApplicationController(我叫它基本控制器)是這樣的:

module Admin 
    class BaseController < ApplicationController 

    end 
end 

,這裏是一個exapmle控制器:

module Admin 
    class ExampleController < Admin::BaseController 
    def example 
    end 
    end 
end