【问题标题】:How to check a boolean attribute in an if else statement?如何检查 if else 语句中的布尔属性?
【发布时间】:2023-03-29 03:13:01
【问题描述】:

我有一个用户模型,其中有一列 superuser:boolean。我还使用了一个导航栏,我希望根据这些条件拥有三个不同的视图:

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

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

我收到错误:“未定义的局部变量或方法‘用户’”

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

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    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 %>
    

    【讨论】:

    • @trickydiddy 没有问题,如果你这样做了,别忘了接受答案(我知道你还不能再等 10 分钟):)
    猜你喜欢
    • 1970-01-01
    • 2015-05-25
    • 2019-06-30
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 2014-12-19
    相关资源
    最近更新 更多