需要帮助为activeadmin配置CanCanCan

时间:2016-11-11 11:11:48

标签: ruby-on-rails activeadmin cancancan

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

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 

如果我使用不是管理员的用户登录,我仍然可以创建/编辑/删除,我只想将它们限制为只读。

请帮助我努力完成我需要完成的这项功能。

提前致谢

1 个答案:

答案 0 :(得分:3)

改变这个想法:

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

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

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