我认为命名空间是您在这里遇到的问题的解决方案:
map.namespace :admin do |admin|
admin.resources :customers
end
这将创建路线admin_customers
,new_admin_customers
等。
然后在app/controller
目录里面你可以有一个admin
目录。在您的管理目录中,创建一个管理控制器:
./script/generate rspec_controller admin/admin
class Admin::AdminController < ApplicationController
layout "admin"
before_filter :login_required
end
然后创建一个管理客户控制器:
./script/generate rspec_controller admin/customers
并将其从您的 ApplicationController 中继承:
class Admin::CustomersController < Admin::AdminController
这将在 中查找视图app/views/admin/customers
并期望在app/views/layouts/admin.html.erb
.
然后,您可以使用您喜欢的任何插件或代码来实际进行管理、简化、ActiveScaffold,无论我个人喜欢使用什么,因为如果您使用REST风格的架构,resourcecs_controller
它可以为您节省大量时间,并且强迫自己走这条路可以在其他地方节省大量时间。尽管如果您继承了该应用程序,那现在还没有定论。