0
私は基本的なユーザ認証のためにRails(5.1.2)でBcrypt(3.1.11)とhas_secure_passwordを使用しようとしています。それはかなり簡単なはずですが、そうではありません!Bcryptによるユーザ認証
コードは正確でなければならないので、私はかなりRailscastからすべてのコードをコピーしたが、エラーメッセージが私に言っている:以下
ActiveRecord::StatementInvalid in UsersController#create
SQLite3::SQLException: no such column: users.password: SELECT 1 AS one FROM "users" WHERE "users"."password" = ? LIMIT ?
が
UsersController#create
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
redirect_to root_url, notice: "Thank you for signing up!"
else
render "new"
end
end
のコードです
と強いのparams:
private
def user_params
params.require(:user).permit(:email, :password, :password_confirmation)
end
とユーザモデル:
class User < ApplicationRecord
has_secure_password
validates_uniqueness_of :email, :password, :password_confirmation
end
私はこの問題が何であるかはっきりしていないので、助けていただければ幸いです。
私たちにユーザーモデル –
を表示してくださいこれは、 – Robert
'validates_uniqueness_of:email、:password、:password_confirmation'を削除して再試行しました。 –