更新或插入时 ActiveAdmin bcrypt 用户密码 rails

ActiveAdmin bcrypt users password on update or insert rails

我正在使用 ActiveAdmin 作为管理面板,因此我可以通过 ActiveAdmin 创建用户。

我遇到的问题是在更新或插入用户密码时,我需要我在 ActiveAdmin 表单中输入的值来使用 bcrypt 散列密码,然后使用 rails has_secure_password 认证

有没有办法让 ActiveAdmin 包含这样的内容? BCrypt::Password.create(params[:password])

在保存到数据库之前?

这是我的users.rb

ActiveAdmin.register User do
permit_params :email, :password_digest, :session_token, :session_key, 
:rank, :profileColour

index do
selectable_column
id_column
column :email
column :password_digest
column :session_token
column :session_key
column :rank
column :profileColour
actions
 end

filter :email
filter :session_token
filter :session_key
filter :rank
filter :profileColour

form do |f|
  f.inputs "Admin Details" do
  f.input :email
  f.input :password_digest
  f.input :rank
  end
  f.actions
end

结束

如有任何建议,我们将不胜感激 谢谢!

尝试使用 :password 而不是 :password_digest

form do |f|
  f.inputs "Admin Details" do
  f.input :email
  f.input :password
  # f.input :password_confirmation
  f.input :rank
  end
  f.actions
end

别忘了permit params

ActiveAdmin.register User do
  permit_params :email, :password, :rank
end