簡體   English   中英

Rails設計定制

[英]Rails devise customization

在devise的用戶表中,我試圖通過其他控制器保存電子郵件和密碼,但是在服務器日志中,我遇到此錯誤,

    WARNING: Can't mass-assign protected attributes for User: encrypted_password
    ------------------------------------------------------------------------------
    (0.1ms)  BEGIN
     User Exists (0.4ms)  SELECT 1 AS one FROM `users` WHERE `users`.`email` = BINARY       'mail@mail.com' LIMIT 1
    (0.2ms)  ROLLBACK

向模型添加了cryptod_password屬性。

因此,我無法將其插入用戶表。 並且,如何加密密碼? 作為設計寶石內置的。

控制器:

  @user = User.new(:email => params[:supplier][:username],:username => params[:supplier][:username],:encrypted_password => '$2a$10$/Hh7UegsWm2ndRXbDEfjvOKBUiI1fa/z1GIbE5OYFpyqW6P97llsG')
  @user.save
  puts @user.errors

型號:attr_accessible:encrypted_pa​​ssword

我會簡單地使用

user = User.new(email: "...", password: "password", password_confirmation: "password")
user.skip_confirmation!
user.save!

這樣,devise將為您完成工作,並且您不必為確認電子郵件而煩惱。 如果您仍要發送確認電子郵件,請刪除第二行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM