前提・実現したいこと
Rails Tutorialの6章でBcryptをbundle installしたのですが、
Guardで自動化したテストがパスしなくなってしまいました。
このエラーをなくすにはどうしたらよろしいでしょうか?
発生している問題・エラーメッセージ
You don't have bcrypt installed in your application. Please add it to your Gemfile and run bundle install ERROR["test_email_addresses_should_be_saved_as_lower-case", Minitest::Result LoadError: cannot load such file -- bcrypt app/models/user.rb:8:in `<class:User>' app/models/user.rb:1:in `<top
該当のソースコード
class User < ApplicationRecord before_save { email.downcase! } VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(.[a-z\d\-]+)*.[a-z]+\z/i validates :name, presence: true, length: { maximum: 50 } validates :email, presence: true, length: { maximum: 255 }, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false } has_secure_password end test "email addresses should be saved as lower-case" do mixed_case_email = "Foo@ExAMPle.CoM" @user.email = mixed_case_email @user.save assert_equal mixed_case_email.downcase, @user.reload.email end
source 'https://rubygems.org' gem 'rails', '5.1.4' gem 'bcrypt', '3.1.11' gem 'bootstrap-sass', '3.3.7' gem 'puma', '3.9.1' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.2.0' gem 'coffee-rails', '4.2.2' gem 'jquery-rails', '4.3.1' gem 'turbolinks', '5.0.1' gem 'jbuilder', '2.7.0' group :development, :test do gem 'sqlite3', '1.3.13' gem 'byebug', '9.0.6', platform: :mri end group :development do gem 'web-console', '3.5.1' gem 'listen', '3.1.5' gem 'spring', '2.0.2' gem 'spring-watcher-listen', '2.0.1' end group :test do gem 'rails-controller-testing', '1.0.2' gem 'minitest-reporters', '1.1.14' gem 'guard', '2.13.0' gem 'guard-minitest', '2.4.4' end group :production do gem 'pg', '0.20.0' end # Windows環境ではtzinfo-dataというgemを含める必要があります gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
試したこと
gem uninstall
補足情報(FW/ツールのバージョンなど)
Mac
rails 5.1.4
gem 'bcrypt', '3.1.11'
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/22 23:54
退会済みユーザー
2018/05/23 04:57