ruby-on-rails-4 – 使用ActiveAdmin更新rolify中的角色

ruby-on-rails-4 – 使用ActiveAdmin更新rolify中的角色,第1张

概述使用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中.

总结

以上是内存溢出为你收集整理的ruby-on-rails-4 – 使用ActiveAdmin更新rolify中的角色全部内容,希望文章能够帮你解决ruby-on-rails-4 – 使用ActiveAdmin更新rolify中的角色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1232696.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存