Я думаю, что пространства имен - это решение вашей проблемы:
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, что бы я ни хотел использовать resourcecs_controller
, так как это экономит ваше время, если вы используете REST * Архитектура в стиле 1025 * и использование этого маршрута может сэкономить много времени в другом месте. Хотя, если вы унаследовали приложение, это уже спорный вопрос.