У меня есть модель пользователя, которая дифференцируется на 6 ролей, и я определяю разные переменные и направляю их в разные файлы просмотра (аналогичный формат, но разные таблицы информации), но в рамках одного и того же действия контроллера, потому что все они имеют похожие страницы «обзор», «профиль», «сообщения» и т. д.Маршрутизация для нескольких пользовательских ролей
Теперь контроллер действительно грязный и имеет несколько операторов if/else. Я считаю, что я должен менять маршруты, чтобы каждый пользователь имел свой собственный контроллер, исключая использование монтирования if/else, которая в настоящее время вторгается в контроллер.
def index
if current_user.admin?
....
end
if current_user.moderator?
....
end
end
Вопрос: Как выполнить маршрутизацию такой, что URL будет www.website.com/1/schedule, где 1 = current_user.id, в то время как имеющие различные просматривать файлы, формируемые по различным контроллерам?
Я собираюсь сделать AdminController и ModeratorController, чтобы справиться с этим, но я не уверен, как выполнить маршрутизацию, или, действительно, это лучший способ сделать это. Спасибо за совет заранее!
Возможный дубликат: http: //stackoverflow.com/questions/11053175/devise-role-based-routing Надеюсь, это поможет вам. – Pavan