活跃的管理员和 Pundit
Active admin and Pundit
我在使用 Pundit Rails 中安装 Active Admin gem 时遇到了一些困难。
在我的 Gemfile 中
gem 'activeadmin', github: 'activeadmin'
在我的active_admin.rb
def authenticate_admin!
redirect_to new_user_session_path unless current_user && current_user.admin
end
ActiveAdmin.setup do |config|
# [...]
config.authentication_method = :authenticate_admin!
# [...]
config.current_user_method = :current_user
# [...]
config.logout_link_path = :destroy_user_session_path
# [...]
config.logout_link_method = :delete
end
当我转到 /admin 时出现此错误:
Pundit::PolicyScopingNotPerformedError at /admin
我想我必须定义一个策略,但我不知道在哪里。你有这方面的好教程吗?
我想你用这样的东西来验证政策的使用。
class ApplicationController < ActionController::Base
include Pundit
after_action :verify_authorized, except: :index
after_action :verify_policy_scoped, only: :index
end
ActiveAdmin 不支持此项检查。您不能在 ApplicationController 中配置它们,或者您需要为所有 ActiveAdmin 控制器跳过它们
我在使用 Pundit Rails 中安装 Active Admin gem 时遇到了一些困难。
在我的 Gemfile 中
gem 'activeadmin', github: 'activeadmin'
在我的active_admin.rb
def authenticate_admin!
redirect_to new_user_session_path unless current_user && current_user.admin
end
ActiveAdmin.setup do |config|
# [...]
config.authentication_method = :authenticate_admin!
# [...]
config.current_user_method = :current_user
# [...]
config.logout_link_path = :destroy_user_session_path
# [...]
config.logout_link_method = :delete
end
当我转到 /admin 时出现此错误:
Pundit::PolicyScopingNotPerformedError at /admin
我想我必须定义一个策略,但我不知道在哪里。你有这方面的好教程吗?
我想你用这样的东西来验证政策的使用。
class ApplicationController < ActionController::Base
include Pundit
after_action :verify_authorized, except: :index
after_action :verify_policy_scoped, only: :index
end
ActiveAdmin 不支持此项检查。您不能在 ApplicationController 中配置它们,或者您需要为所有 ActiveAdmin 控制器跳过它们