Следното изглежда, че съм постигнал известен напредък в правилната посока; това най-малко осигурява идентична готова функционалност както за потребители, така и за администратори, с персонализирано маршрутизиране,
match 'admin', :controller => 'admin'
namespace :admin do
# to be updated later...
end
devise_for :users
#devise_for :admins, :path => "admin" # this works but uses the default
# Devise::SessionController
devise_for :admins,
:controllers => {
:sessions => "admin/sessions",
:passwords => "admin/passwords",
:registrations => "admin/registrations" }, :path => "admin",
:skip => [:sessions, :passwords, :registrations] do
get 'admin/sign_in' => 'admin/sessions#new', :as => :new_admin_session
post 'admin/sign_in' => 'admin/sessions#create', :as => :admin_session
get 'admin/sign_out' => 'admin/sessions#destroy', :as => :destroy_admin_session
get 'admin/sign_up' => 'admin/registrations#new', :as => :new_admin_registration
get 'admin/account' => 'admin/registrations#edit', :as => :edit_admin_registration
post 'admin/account' => 'admin/registrations#create', :as => :admin_registration
get 'admin/cancel' => 'admin/registrations#cancel', :as => :cancel_admin_registration
put 'admin/account' => 'admin/registrations#update'
delete 'admin/account' => 'admin/registrations#destroy'
post 'admin/password' => 'admin/passwords#create', :as => :admin_password
get 'admin/password/new' => 'admin/passwords#new', :as => :new_admin_password
get 'admin/password/edit' => 'admin/passwords#edit', :as => :edit_admin_password
put 'admin/password' => 'admin/passwords#update'
end
Идеи?
предупреждение: в този пример съм включил модула :registerable devise в модела на администратора само за тестване по време на разработката. Маршрутът sign_up
в крайна сметка ще бъде премахнат.
Дългото търсене доведе (имайте предвид играта на думи) следващата публикация в блог, която изглежда за да се укаже отмяна на контролер на устройство изисква повторно картографиране на всички негови посочени „HTTP глаголи“, така да се каже; това има смисъл, тъй като некартираните ще бъдат обработени от контролера за устройство по подразбиране.
Ако някой има повече опит в работата с множество модели на проектиране и отделен администраторски подход, много ще се интересувам от вашите мисли и предложения!
person
Michael De Silva
schedule
13.05.2011