繁体   English   中英

用户在带有Rails 4的CanCan初始值设定项中为nil

[英]user is nil in CanCan initializer with Rails 4

信息:

  • Rails 4.0.2
  • CanCan(1.6.10)
  • 设计(3.2.4)
  • ActiveAdmin(1.0.0.pre)

我正在尝试使用cancan gem来管理对我的后台的访问权限(activeadmin)。 我在这里遵循:教程http://www.activeadmin.info/docs/13-authorization-adapter.html#using_the_cancan_adapter

问题是,即使有用户登录,“用户”变量在cancan的初始化程序中也始终为nil。

这是我的代码:

class Ability
  include CanCan::Ability

  def initialize(user)
    return unless user

    if user.has_operator_role? :active_admin
      can :manage, ActiveAdmin::Page, name: 'Dashboard'
  end
end

我将调试器放在“除非用户返回,否则返回”行之前,并且“用户”变量始终为nil。 在视图中,正确设置了“ current_user”变量。

谢谢你的帮助!

编辑

我也尝试过CanCanCan gem,但不能解决问题!

CanCan已死,Rails 4几乎不支持它。

你可以试试:

https://github.com/CanCanCommunity/cancancan

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM