【问题标题】:Need help to configure CanCanCan for activeadmin需要帮助为 activeadmin 配置 CanCanCan
【发布时间】:2016-11-11 11:11:48
【问题描述】:

我需要帮助才能使用 ActiveAdmin 配置 CanCanCan。我有其他一切工作,包括设计。我可以使用 devise 来限制菜单,但如果您知道 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 

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

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

提前致谢

【问题讨论】:

    标签: ruby-on-rails activeadmin cancancan


    【解决方案1】:

    改变这种想法:

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

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

    如果还是不行,请尝试将 Ability 重命名为 AdminAbility

    【讨论】:

    • 感谢您回来。我添加了能力类,但现在它进入了一个永远循环并说 localhost 没有启动,即使它是。我还将该类重命名为 AdminAbility 但它在服务器启动时给了我未初始化的常量 AdminAbility (NameError)
    • 嘿只是想让你知道,在我玩了更多之后,我得到了它的工作,你的答案是正确的,我刚刚得到白页,当我检查日志时它说没有权限页面,我认为这是一个循环,但它不是。谢谢
    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2020-07-09
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 2015-05-05
    相关资源
    最近更新 更多