ruby-on-rails-4 – 使用ActiveAdmin更新rolify中的角色
发布时间:2020-12-17 01:31:41 所属栏目:百科 来源:网络整理
导读:使用Rails 4.0,ActiveAdmin,Rolify和CanCan,通过activeadmin面板添加和删除用户角色不会保存(提交到数据库). 我的ActiveAdmin User and User Model看起来没问题,因为我可以使用check_boxes列出适用于用户的所有角色.虽然通过复选框添加任何角色或删除任何角
使用Rails 4.0,ActiveAdmin,Rolify和CanCan,通过activeadmin面板添加和删除用户角色不会保存(提交到数据库).
我的ActiveAdmin User and User Model看起来没问题,因为我可以使用check_boxes列出适用于用户的所有角色.虽然通过复选框添加任何角色或删除任何角色时,不会应用更改. 我收到用户已成功更新的通知,但在查看数据库或呈现页面时,角色尚未更新. 如何保存表单时更新角色? 编辑: 也使用Devise. 解决方法
此处的解决方案是允许ActiveAdmin控制器更新与用户相关的角色ID.
ActiveAdmin.register User do permit_params :email,:password,:password_confirmation,role_ids: [] 这是一个表单,显示每个全局角色的复选框. form do |f| f.inputs "User Details" do f.input :email f.input :password f.input :password_confirmation f.input :roles,as: :check_boxes end f.actions end 在我们处理它的同时,我们也可以在不输入密码的情况下更新用户: # Allow form to be submitted without a password controller do def update if params[:user][:password].blank? params[:user].delete "password" params[:user].delete "password_confirmation" end super end end 将所有这些放在app / admin / user.rb中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |