【问题标题】:Active_Skin with ActiveAdmin using CanCanActive_Skin 和 ActiveAdmin 使用 CanCan
【发布时间】:2014-07-28 05:04:48
【问题描述】:

我正在使用 cancan 来管理 activeadmin 环境中的授权。我最近使用了active_skin gem 来改善外观,但只有具有 manage:all 访问权限的超级管理员才能看到新外观。我可以知道如何让其他人看到它吗?

这是一个示例能力文件:

if user.is? :admin
      can :manage, :all
else
      # Admin users can only manage their own posts
      can :manage, Post, :organization_id => user.organization_id 
end

【问题讨论】:

  • 嗨 - 请在下面回答 - 有帮助吗?皮埃尔

标签: ruby-on-rails ruby-on-rails-3 activeadmin cancan


【解决方案1】:

1- 你可以使用这个 可以:阅读,:所有 2- 建议您使用新的 CanCanCan,因为CanCan 不再更新。切换不是戏剧 皮埃尔

【讨论】:

  • 嗨皮埃尔,感谢您的回答。使用 CanCanCan 无疑是一个有用的提示。一个问题是我不希望所有管理员都看到所有模型。只有主管理员才能看到一些功能。 :read, :all 不会给出那个结果。
  • 嗨,NRR - 在我使用用户名属性来区分不同管理员用户的问题上还有另一个问题。
【解决方案2】:

在我的用户模型应用程序中,我有一个属性用户名(可能应该是名称)。用户名是用户登录时使用的名称。在下面的示例代码中,我检查当前用户是否为管理员级别,然后如果用户名 == 管理员,他们可以管理所有其他内容,他们只能阅读所有内容。 puts 语句用于检查目的。

class Ability

包括 CanCan::Ability

def 初始化(用户) user ||= User.new # 访客用户

if user
  if user.is? :admin 
    puts "-------"
    name = user.username
    puts "username = " + name.to_s
    puts "-------"
    if name == "admin"
      can :manage, :all
    else
      can :read, :all
    end
  elsif user.is? :user
    can :manage, Drill   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多