Ruby on rails 活动管理员可以在Admin::AdminUsersControllershow中找到ActiveRecord::RecordNot
我有以下几点: 能力.rbRuby on rails 活动管理员可以在Admin::AdminUsersControllershow中找到ActiveRecord::RecordNot,ruby-on-rails,activeadmin,cancan,Ruby On Rails,Activeadmin,Cancan,我有以下几点: 能力.rb def initialize(user) if user.admin? can :manage, :all else can :manage, AdminUser, :id => user.id end end 以及在应用程序_controller.rb中: def access_denied(exception) redirect_to admin_dashboard_p
def initialize(user)
if user.admin?
can :manage, :all
else
can :manage, AdminUser, :id => user.id
end
end
以及在应用程序_controller.rb中:
def access_denied(exception)
redirect_to admin_dashboard_path , :alert => exception.message
end
此外,我还在initializer/active_admin.rb中添加了用于活动管理的适配器:
config.authentication_method = :authenticate_admin_user!
config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.on_unauthorized_access = :access_denied
当我转到他未被授权访问的url时,例如:。其给出的错误如下:
ActiveRecord::RecordNotFound in Admin::AdminUsersController#show
谁能给我指出正确的方向,因为我在这里错过了什么
提前感谢。如果活动记录无法通过给定的id或id集找到记录,则会引发错误。请检查admin_users表中是否有id为1的条目。请参阅下图以更好地了解错误
我已经通过将active_admin gem升级为gem'activeadmin','0.6.3'解决了这个问题 是的,id存在于我的数据库用户中。id 1存在,但由于当前用户没有权限查看其他用户,这就是它给出错误的原因。@dinshawraje ok,似乎逻辑在某种程度上起作用。具有正确凭据的用户能否查看页面?