ActiveAdmin + CanCan + AASM 事件切换器 AJAX
ActiveAdmin + CanCan + AASM event switcher with AJAX
As an admin I have a specific role
I want to see and switch event for object
Depends on my role
受到 activeadmin_addons and its Enum Integration 的启发,我想通过让不同的管理员用户根据模型中特定 events/statuses 的 abilities/roles 更改事件来为 AASM 提供类似的功能。
Taken from here, please see this link for additional files you need
先决条件:
Gem:活跃管理员,
Gem 'active_admin_role',两者均已安装并使用 current_admin_user 设置(或类似于您的应用程序)的 AdminUser 模型。
使用 Rails 5.1.3 进行测试。
完成 deploy/run 服务器后,您必须 "Reload" 管理员权限并为经理或 "super_admin" 以外的角色启用 "event_update"。
您需要做的更小的插件:
(除了以下附件)
在您的 AdminUser 模型中添加:
include CanCan::Ability
include ActiveAdminRole::CanCan::Ability
在您的 table_for 中(您呈现数据列的位置):
column 'Our Status' do |auction|
render 'admin/auctions/event_change', auction: auction
end
在 initializers/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'
请原谅我忘记了什么,如果您有任何疑问或问题,请告诉我!
As an admin I have a specific role
I want to see and switch event for object
Depends on my role
受到 activeadmin_addons and its Enum Integration 的启发,我想通过让不同的管理员用户根据模型中特定 events/statuses 的 abilities/roles 更改事件来为 AASM 提供类似的功能。
Taken from here, please see this link for additional files you need
先决条件:
Gem:活跃管理员, Gem 'active_admin_role',两者均已安装并使用 current_admin_user 设置(或类似于您的应用程序)的 AdminUser 模型。
使用 Rails 5.1.3 进行测试。
完成 deploy/run 服务器后,您必须 "Reload" 管理员权限并为经理或 "super_admin" 以外的角色启用 "event_update"。
您需要做的更小的插件: (除了以下附件)
在您的 AdminUser 模型中添加:
include CanCan::Ability
include ActiveAdminRole::CanCan::Ability
在您的 table_for 中(您呈现数据列的位置):
column 'Our Status' do |auction|
render 'admin/auctions/event_change', auction: auction
end
在 initializers/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'
请原谅我忘记了什么,如果您有任何疑问或问题,请告诉我!