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