Saya mengalami masalah saat mencocokkan kata sandi pengguna menggunakan permata devise di rel. Kata sandi pengguna disimpan di db saya yang merupakan encrypted_password dan saya mencoba mencari pengguna dengan kata sandi, tetapi saya tidak mengerti cara mencocokkan kata sandi dari formulir dan encrypted_password di db saya.
User.find_by_email_and_password(params[:user][:email], params[:user][:password])
ruby-on-rails
devise
poporul
sumber
sumber
Jawaban:
Saya pikir ini adalah cara yang lebih baik, dan lebih elegan untuk melakukannya:
Metode lain tempat Anda membuat intisari dari instance pengguna memberi saya kesalahan metode terlindungi.
sumber
Gunakan Metode Rancangan
Devise memberi Anda metode built-in untuk memverifikasi kata sandi pengguna :
Untuk Rails 4+ dengan Params Kuat , Anda dapat melakukan sesuatu seperti ini:
sumber
Saya pikir yang lebih baik adalah ini
sumber
Saya akan menyarankan ini.
sumber