我想根据用户是否是管理员来更改页面视图

时间:2019-03-11 14:21:09

标签: ruby-on-rails authentication

在Rails中,我有一个用于用户的模型,其中有一个用于管理员的标志(是,否)。如果login_in用户是admin,我希望能够使用erb显示页面的不同元素。

我目前正在使用登录用户和未登录用户使用此代码进行登录

<% if current_user %>

但是如何在erb中指定if current_user is admin

或者,因为erb暴露在浏览器中,所以erb是最好的选择吗?如果没有,在模型或控制器中是否有其他建议来实现此目的?

我当前不使用Devise进行用户身份验证。

2 个答案:

答案 0 :(得分:0)

当您说他们有一个标志时,是否表示他们有一个名为admin的属性?

如果是这样,则任何带有布尔值的模型都可以通过以下方式进行检查:

<% if current_user.admin? %>

如果还有另一种确定用户是否为管理员的方法,则需要向用户类添加admin?方法,您可以使用该方法来确定用户在视图中的状态。 / p>

答案 1 :(得分:0)

您可以在视图中使用用户is_admin列名。

<% if current_user.is_admin? %>