Я хочу изменить вид страницы в зависимости от того, является ли пользователь администратором - PullRequest
0 голосов
/ 11 марта 2019

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

В настоящее время я делаю это, выполнив вход в систему против пользователей, не вошедших в систему с помощью этого кода

<% if current_user %>

Но как бы я указал if current_user is admin в erb?

Или, erb - лучшее место для этого, так как оно доступно браузеру? Если нет, какие-либо предложения для других способов сделать это в модели или контроллере?

В настоящее время я не использую Devise для аутентификации пользователя.

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Вы можете использовать имя столбца пользователя is_admin в представлениях.

<% if current_user.is_admin? %>
0 голосов
/ 11 марта 2019

Когда вы говорите, что у них есть флаг, значит ли это, что у них есть атрибут с именем admin?

Если это так, любую модель с булевыми значениями в рельсах можно проверить с помощью:

<% if current_user.admin? %>

Если есть другой способ определить, является ли пользователь администратором или нет, вам необходимо добавить метод admin? в класс пользователя, который можно использовать для определения его статуса в представлении.

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