我試圖建立一個管理面板到我的導軌應用程序,但想讓我的管理控制器遠離我的其他控制器。無論如何,我可以有一個管理文件夾在我的應用程序文件夾,其中包含管理員的東西只是控制器。控制器到完全不同的目錄
在此先感謝。
我試圖建立一個管理面板到我的導軌應用程序,但想讓我的管理控制器遠離我的其他控制器。無論如何,我可以有一個管理文件夾在我的應用程序文件夾,其中包含管理員的東西只是控制器。控制器到完全不同的目錄
在此先感謝。
是的,當然。
您可以將所有與管理相關的控制器放在app/controllers/admin/
目錄中。
是的,你可以通過在管理模塊下命名你的控制器來做到這一點。
設置它的最簡單方法是使用Rails生成,並以「admin」的前綴,你的資源:
rails generate controller admin/user
類型rails g controller
具體幫助。
下面是更多的信息引導的頁面:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing
如果你想保持你的管理完全分開,你可以使用一個引擎。要生成引擎,這樣做:
rails plugin new admin --mountable
然後在你的主應用程序的路線文件,你可以安裝引擎:
mount Admin::Engine => "/admin"
關於引擎完整的詳細信息,請參閱http://guides.rubyonrails.org/engines.html。
這很簡單,通常將它們放在app/controllers/admin
之內是有意義的,但如果使用這個,則需要使用命名空間。 Rails會自動加載這些類。
這是一個很好的做法,使每個命名空間的ApplicationController(我叫它基本控制器)是這樣的:
module Admin
class BaseController < ApplicationController
end
end
,這裏是一個exapmle控制器:
module Admin
class ExampleController < Admin::BaseController
def example
end
end
end
感謝您的回答,但我希望我的控制器目錄完全可以在控制器目錄之外,所以/ app/admin而不是/ app/controllers/admin –
您可以使用引擎:http://guides.rubyonrails.org/engines.html – mysmallidea