【发布时间】:2018-12-20 08:47:59
【问题描述】:
我想禁止管理员查看用户(手动添加的用户)的数据。管理员应该只看到他从管理面板添加的数据。我正在使用 cancancan gem 和 active admin gem。
这是ability.rb文件,这里使用了cancancan:
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.admin?
can :manage, :all
else
can :manage, WebCred, user_passes: {user_id: user.id}
end
index do
selectable_column
id_column
column :email
column :current_sign_in_at
column :sign_in_count
column :created_at
actions
end
filter :email
filter :current_sign_in_at
filter :sign_in_count
filter :created_at
form do |f|
f.inputs do
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
这是我的活跃管理员的文件。 我想禁止管理员查看用户手动添加的 webcred 的密码 [原文如此],同时允许管理员查看他添加的密码。
【问题讨论】:
-
您的意思是当管理员未添加时,您不想在页面上显示特定的“密码”字段?您想加载页面,但不显示“密码”?
-
我其实想要用户自己添加的密码,admin看不到admin为同一个用户设置的密码和密码,他(admin)可以看到自己的密码