2015-01-03 6 views
0

У меня есть простое приложение для рельсов со студенческой моделью. Эта модель имеет несколько чувствительных полей, которые должны быть скрыты для некоторых пользователей и видимы для других.Разрешения на уровне поля в рельсах Модель

Например, TeacherComment должен быть виден всем учителям, где класс должен быть виден ученику и его учителю. с другой стороны, имя студента доступно для всех пользователей.

На данный момент я реализую это требование на show.html.erb, где я проверяю тип пользователя перед отображением каждого из них, если чувствительные поля.

Этот подход является склонным к ошибкам и его трудно поддерживать, поскольку приложение будет расти, поэтому мне было интересно, есть ли лучший способ справиться с этим требованием.

ответ

0

Лучшим ответом на этот вопрос является использование ранее существовавшего драгоценного камня, который реализует определенную форму авторизации на основе ролей. Это обеспечит помощников и инструменты уровня модели, а также примеры лучших практик. Здесь вы можете найти список таких драгоценных камней - https://www.ruby-toolbox.com/categories/rails_authorization

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