As an admin I have a specific role
I want to see and switch event for object
Depends on my role
受activeadmin_addons及其枚举集成的启发,我想通过让不同的管理员用户根据他们在模型中特定事件/状态的能力/角色更改事件来为 AASM 提供类似的功能。
从这里获取,请参阅此链接以获取您需要的其他文件
请求者:
Gem: ActiveAdmin, Gem 'active_admin_role',两者都已安装并具有current_admin_user设置(或类似于您的应用程序(的 AdminUser 模型。
使用 Rails 5.1.3 进行测试。
完成并部署/运行服务器后,您必须在 admin 中"重新加载"权限,并为经理或"super_admin"角色以外的角色启用"event_update"。
您需要做的较小的插件:(除了下面的附件(
在管理员用户模型中,添加:
include CanCan::Ability
include ActiveAdminRole::CanCan::Ability
在table_for(呈现数据列的位置(中:
column 'Our Status' do |auction|
render 'admin/auctions/event_change', auction: auction
end
在初始值设定项/active_admin.rb 中或随时
ActiveAdmin::ResourceController.class_eval do
protected
def current_ability
# Match to your current admin user
@current_ability ||= Ability.new(current_admin_user)
end
end
还要确保您的配置:
config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.cancan_ability_class = 'Ability'
如果我忘记了什么,请原谅我,如果您有任何问题或问题,请告诉我!