2010-04-23 11 views
5

Konfiguruję aplikację katalogową, dla której muszę mieć dwa oddzielne interfejsy dla tej samej tabeli Użytkownicy. Zasadniczo administratorzy używają kontrolera Użytkownicy i widoków do listy, edycji i dodawania użytkowników, podczas gdy nie-administratorzy potrzebują oddzielnego interfejsu, który wymienia użytkowników w zupełnie inny sposób. Aby to zrobić, czy mógłbym po prostu skonfigurować inny kontroler z różnymi widokami, ale który uzyskuje dostęp do modelu Użytkownicy?Wiele kontrolerów z jednym modelem

Przepraszam, jeśli to proste pytanie, ale ciężko mi było go znaleźć.

Odpowiedz

7

Dlaczego nie umieścić części administracyjnej w osobnym obszarze nazw - miałbyś Admin::UsersController z widokami w app/views/admin/users/. A twoi użytkownicy przejdą do UsersController z własnymi widokami w app/views/users/.

Routing jest zdefiniowany następująco:

map.namespace :admin do |admin| 
    admin.resources :users 
end 


map.resources :users 

I można dostać się poprzez admin_users_path i users_path

+0

Czytałem o przestrzeniach nazw, ale obawiała się, że korzystanie z nich byłoby sprzeczne z moimi zagnieżdżonych zasobów. Czy tak nie jest? –

+0

@Eric: Nie, wcale tak nie jest. Rozwinąłem oryginalną odpowiedź. –

Powiązane problemy