@chronic86
Ruby on Rails junior

Как правильно разделить доступ к views для разных ролей на Rails 4?

Есть приложение.
Предполагается наличие нескольких ролей, функционал ролей сильно отличается в связи с чем работать с видимостью элементов view неудобно и громоздко.

Что хотелось бы получить:
Для каждой роли отдельная папка views. Общая форма регистрации и авторизации для всех.
Доступ к views должен ограничиваться ролью. У одного пользователя может быть только одна роль.

Например:
Роли: Менеджер, Управляющий, Руководитель
- views
   -Manage
        -rootviews1.html.erb
        -views1.html.erb
        -views2.html.erb
   -Director
        -rootviews2.html.erb
        -views3.html.erb
        -views4.html.erb
   -Control
        -rootviews3.html.erb
        -views5.html.erb
        -views6.html.erb


Смотрел в сторону Custom Resolvers но информацию по реализации нашел только для Rails 3, может есть где-то более свежая информация? Или другие способы реализации?
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 1
Вам нужен метод prepend_view_path, в котором в зависимости от роли выставляйте нужный путь.
apidock.com/rails/AbstractController/ViewPaths/Cla...

Если у вас разные вьюшки для разных ролей, то скорее всего и разный функционал в этих вьюшках. Возможно, в таком случает стоит подумать на тем чтобы разнести всё и по разным контроллерам. Тогда проблема со вьюшками исчезнет сама собой.

class Manage::SomeController < ...
  layout 'manage_application'
end


Admin::SomeController

Director::SomeController
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы