bcrypt LoadError: Diese Datei kann nicht geladen werden
Ich versuche zum einrichten einer login-Funktion für meine Rails-app, ich bin immer ein bcrypt Fehlermeldung, wenn ich drücken Sie die Schaltfläche "login":
LoadError in SessionsController#create
cannot load such file -- bcrypt
Ist jemand anderes diese Fehlermeldung bekommen? Ich habe die neueste version von bcrypt und ich bin genau das, was das tutorial mir zu tun.
Benutzer-Modell: ich habe Sternchen um die Zeile wo der Fehler angeblich ist.
class User < ActiveRecord::Base
****has_secure_password****
end
Sitzungen Controller:
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by(id: params[session][:id])
if user && user.authenticate(params[:session][:password])
log_in user
redirect_to root_path
else
flash.now[:danger] = 'Invalid'
render 'new'
end
end
def destroy
end
end
ApplicationController:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
include SessionsHelper
end
SessionsHelper:
module SessionsHelper
def log_in(user)
session[:user_id] = user.id
end
end
Gemfile:
gem 'bcrypt', '~> 3.1.7'
Sitzungen/neue Ansicht:
<div id= "admin-sign-in">
<%= form_for(:session, url: login_path) do |f| %>
<%= f.label :id %>
<%= f.text_field :id %>
<%= f.label :password %>
<%= f.password_field :password %>
<%= f.submit "Log in", class: "btn btn-primary" %>
<% end %>
</div>
InformationsquelleAutor der Frage Joe Morano | 2014-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie ausgeführt haben:
bundle install
installieren bcrypt, einfach starten Sie den rails-server. Es funktionierte für mich.
InformationsquelleAutor der Antwort Bruno Paulino
stellen Sie sicher, dass Sie nicht nur laufen, bundle installieren, aber Sie töten AUCH die server und laden Sie es erneut, um sicherzustellen, dass es lädt dann in der neuen Edelsteine. Sie können auch überprüfen Sie Ihre gemfile für 'Frühling'. wenn es das ist, geladen zu sein, werden Sie wollen, um zu kommentieren, laden die server und versuchen es dann. das sollte kümmern sich um alle Möglichkeiten.
InformationsquelleAutor der Antwort Shaun Sweet
Töten spring-Prozess und den Neustart Guard behoben das Problem für mich:
zurückgegeben Frühjahr vier Prozesse:
töten (one by one):
und neu starten:
Für eine schöne Erklärung siehe Michael Hartl Rails Tutorial https://www.railstutorial.org/book/static_pages#aside-processes
InformationsquelleAutor der Antwort Arta
Ich hatte das gleiche Problem, konnte es aber nicht lösen, bis ich bearbeitet habe, der Gemfile-Datei, und die Zeile auskommentiert
Ich zunächst die installierte version 3.1.7, weil ich war besorgt, wenn es vielleicht Kompatibilitätsprobleme mit den späteren Versionen, basierend auf etwas, das ich gelesen in der eine andere Lösung für dieses problem, aber 3.1.7 auch nicht mit einer anderen Fehlermeldung. Allerdings 3.1.11 funktionierte perfekt, und so stieß ich, bis der Kommentar in der Gemfile zu Lesen
ran und bundle wieder installieren.
Dieser arbeitete.
InformationsquelleAutor der Antwort Graeme Campbell