【问题标题】:Trying to access current user's role试图访问当前用户的角色
【发布时间】:2013-04-27 00:06:55
【问题描述】:

我需要访问我当前的用户角色,以确保他们是管理员。如果他们是管理员,我想在我的视图中显示以下链接。

<% if current_user.role =='admin' %>
    <li class="manage">
        <a href="#" id="manage" style="float:none;">
            Manage
        </a>
    </li>
<% end %>

我的问题出在控制器中(如下)。如何定义 @user 使其与当前用户对齐?现在我收到“找不到没有 ID 的用户”错误

def index

@user = User.find(params[:id])
respond_to do |format|
  format.html 
end

【问题讨论】:

  • @user = current_user。但是那你为什么不跳过@user直接使用current_user呢?

标签: ruby user-roles


【解决方案1】:

为什么要对齐@user 和 current_user?他们是两个不同的东西。

  • current_user 是您登录时使用的用户(已识别并经过身份验证)。您使用的是 devise 还是其他身份验证 gem?
  • @user 通常是您尝试编辑或显示的用户,由 params[:id] 确定。基本上是您尝试访问的资源。什么引出了问题; @user 对您来说意味着什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多