【发布时间】:2013-12-16 16:11:22
【问题描述】:
我正在尝试使用活动管理员创建用户。我正在从头开始进行身份验证 railscast 这样做。目前我已经使用以下命令设置了资源:
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
大部分时间都在使用 railscast 逐字逐句地进行。然后,我使用以下代码添加了一个活动管理资源:
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 会为您更改密码等。但我收到此错误。
如何在此处使用活动管理员创建有效用户?
【问题讨论】:
-
将
:password_digest添加到attr_accessible时会发生什么? -
当我添加 :password_digest 时,我得到一个关于 :password 的错误。如果我将 :password_digest 替换为 :password 它可以工作,但是没有 :password 用户方法
-
我没有建议你替换
:password,我建议你添加:password_digest。然后会发生什么?
标签: ruby-on-rails activeadmin authentication bcrypt-ruby