パスワードを暗号化するため、Rails内のGemfileにコメントアウトされていたbcryptを導入したら、以下のエラーコードが出力されました。
cannot load such file -- bcrypt
導入手順は以下のとおり。
Railsで生成したウェブアプリフォルダ内のGemfileを開き、コメントアウトを解除。
... # Use Active Model has_secure_password gem 'bcrypt', '~> 3.1.7' #上の「#gem 'bcrypt', '~> 3.1.7'」先頭にあった'#'を外す ... #その後、ターミナル上でbundle installを記述し、実行する bundle install
無事にbundle installが完了したら、Userモデル内にhas_secure_passwordの1行を記述することで適用されます。
# app/models/users.rb class User < ApplicationRecord has_secure_password end
ここまででbcryptの導入準備が完了したのですが、制作テスト中のウェブアプリケーションのページを更新した際に、「cannot load such file — bcrypt」というエラーが発生しました。
このエラーを解消するため、ターミナルで実行していたRailsサーバーを一旦停止し、再度起動(rails s)することで無事にbcryptの設定が反映されました。