Несколько контроллеров с одной моделью - PullRequest
5 голосов
/ 23 апреля 2010

Я настраиваю приложение каталога, для которого мне нужно иметь два отдельных интерфейса для одной и той же таблицы Users. По сути, администраторы используют контроллер и представления «Пользователи» для составления списка, редактирования и добавления пользователей, в то время как не администраторы нуждаются в отдельном интерфейсе, который выводит список пользователей совершенно по-другому. Чтобы сделать это, смогу ли я просто настроить другой контроллер с другими представлениями, но который обращается к модели «Пользователи»?

Извините, если это простой вопрос, но мне было трудно найти способ сделать это.

1 Ответ

7 голосов
/ 23 апреля 2010

Почему бы не поместить административную часть в отдельное пространство имен - у вас будет Admin::UsersController с представлениями в app/views/admin/users/. И ваши пользователи перейдут на UsersController со своими собственными представлениями в app/views/users/.

Маршрутизация определяется следующим образом:

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


map.resources :users

И можно получить через admin_users_path и users_path

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...