用户在使用Rails 4的CanCan初始化程序中为零

时间:2014-04-16 13:50:11

标签: ruby-on-rails ruby-on-rails-4 devise activeadmin cancan

信息:

  • 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

我在"之前放了一个调试器,除非用户" line和" user"变量总是零。 在视图中," current_user"变量设置正确BTW。

感谢您的帮助!

修改

我也尝试过CanCanCan gem,但它并没有解决问题!

1 个答案:

答案 0 :(得分:1)

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

您可以尝试:

https://github.com/CanCanCommunity/cancancan