如何检查if else语句中的布尔属性?

时间:2016-10-07 20:03:18

标签: ruby-on-rails

我有一个带超级用户列的用户模型:boolean。我还使用导航栏,根据这些条件,我想要有三个不同的视图:

  • 当某人未登录时
  • 当有人以用户身份登录时
  • 当有人签名是用户而超级用户的布​​尔值为真时

    <% if (user_signed_in? && user.super_user?) %>
    
    <% elsif (user_signed_in?) %>
    
    <% else %>
    

我收到错误:&#34;未定义的局部变量或方法`user&#39;&#34;

如何检查用户的列super_user是真还是假?

1 个答案:

答案 0 :(得分:2)

1)看起来你正在使用Devise gem(因为user_signed_in?)。在这种情况下,它是您正在寻找的current_user助手,而不是user

2)此处?您不需要current_user.super_user - 列名为super_user,而不是super_user?

<% if (user_signed_in? && current_user.super_user) %>

<% elsif (user_signed_in?) %>

<% else %>