2010-04-23 5 views
5

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

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

ответ

7

Почему бы не добавить административную часть в отдельное пространство имен - у вас было бы 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

+0

Я читал о пространствах имен, но я был обеспокоен тем, что их использование будет противоречить моим вложенным ресурсам. Разве это не так? –

+0

@ Эрик: Нет, это совсем не так. Я разберу исходный ответ. –

Смежные вопросы