私は私の英語のために事前に謝罪とルビーの知識:) 私はRailsAdmin、工夫と認証、CanCanCanと承認を管理パネルを作りますので、私はユーザーで3つのブールフィールドを持っている:RailsAdmin +工夫+ CanCanCanの役割ではない作品なし:管理:すべての
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
can :access, :dashboard # allow access to dashboard
can :access, :rails_admin # access Rails Admin for Admin-users
if user.superadmin_role?
can :manage, :all
end # role works correct
if user.manager_role?
can :read, :all
end #role works incorrect
end
end
01: ability.rbだから、
add_column :users, :superadmin_role, :boolean, default: false
enter code hereadd_column :users, :manager_role, :boolean, default:
、中を私はこれを持っています
: -
SUPERADMIN_ROLEが正しく動作し、などRailsAdminとに入力することができますが、MANAGER_ROLEは動作しませんされ、ユーザーがダッシュボードに入力しようとすると、アクセス拒否のエラーメッセージが表示されていますmanager_roleにダッシュボードとRailsAdminインターフェイスへのアクセスを提供する方法は、全脳を壊しました。
が、私は任意の助けに喜んでいるでしょう(準備コードなどの読み取りとする@Whereリンク)と建設的な批判
ありがとう、ちょっと助けてください:$ bundle update –