[英]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.