繁体   English   中英

在Active Admin中创建用户

[英]Create user in Active Admin

我正在尝试使用活动管理员创建用户。 我正在从头开始进行认证。 目前,我已经使用以下命令设置了资源:

rails g resource user name:string username:string password_digest:string

然后,我的用户模型如下所示:

class User < ActiveRecord::Base
  has_secure_password
  attr_accessible :name, :password, :username

  validates_uniqueness_of :name
  validates_uniqueness_of :username
end

在大多数情况下都跟着逐字逐句地跟随。 然后,我使用以下代码添加了活动的管理资源:

rails g active_admin:resource user

我的用户活动管理员模型如下所示:

ActiveAdmin.register User do
  index do
    # column "number", :id
    column :name
    column :username
    column :password
    default_actions
  end

  show do
    attributes_table do
      row :name
      row :username
      row :password
    end
  end
end

当我创建用户时,出现以下错误消息:

Can't mass-assign protected attributes: password_digest

我知道has_secure_password和bcrypt-ruby会为您更改密码等。但是我收到此错误。

如何在这里使用活动管理员创建有效用户?

我不确定您所指的railscast的详细信息,但是一种常见的存储密码的方法是存储一个加密的摘要而不是实际的密码,这样,访问您数据库的人将不会拥有您的实际密码。用户。 密码实际上并未保存。 这是一种可行的方法:

# models/user.rb

def password= new_password
  self.password_digest = ::BCrypt::Password.create(new_password,cost:10).to_s
end

这样,password_digest会在验证之前设置,以便通过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM