簡體   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