需要帮助为 activeadmin 配置 CanCanCan

Need help to configure CanCanCan for activeadmin

我需要帮助来使用 ActiveAdmin 配置 CanCanCan。我有其他一切工作,包括设计。我可以使用 devise 来限制菜单,但是如果你知道 URL 让我们说编辑你仍然可以编辑该资源。我想限制普通用户使用 editing/creating 任何资源,但它似乎不起作用。

Active_Admin.rb

config.cancan_ability_class = ActiveAdmin::CanCanAdapter

Ability.rb(开箱即用)

class Ability
  include CanCan::Ability

  def initialize(user)
    # Define abilities for the passed in user here. For example:
    #
      # user ||= User.new # guest user (not logged in)
      if user.admin?
        can :manage, Student
      else
        can :read, Student
      end
end
end

用户模型。

admin:boolean 

如果我使用非管理员用户登录,我仍然可以create/edit/delete,我只是想将他们限制为只读。

请帮助我解决我需要完成的唯一功能。

提前致谢

改变这个想法:

config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.cancan_ability_class = Ability

authorization_adapter 告诉活动管理员应该使用哪个适配器。 cancan_ability_class 告诉适配器它应该使用哪个 class。

如果仍然无效,请尝试将 Ability 重命名为 AdminAbility