セッションコントローラで、「。find_by_email(params [:email])」を.where(email:params [:email])に置き換え、Railsに組み込まれているhas_secure_passwordでパスワードを検証しようとして失敗しました。前者は機能しますが、後者はキャッチされた例外になります。
undefined method `authenticate' for #<ActiveRecord::Relation:0x0000010384e690>
これは、機能しないコントローラーの完全なコードです。
class SessionsController <ApplicationController def new end
def create
user = User.where(email: params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to texts_path, notice: "Logged in!"
else
render "new"
end
end
終わり