Я новичок в rails, следующий из учебника Agile Rails Web Development с rails 5.1.Я использую рельсы 5.2
Я создал пользователей с:
rails g scaffold User name:string password:digest
rails db:migrate
class User < ApplicationRecord
validates :name, presence: true, uniqueness: true
has_secure_password
end
Все тесты пользователей не пройдены с:
NameError: uninitialized constant ActiveRecord::FixtureSet::RenderContext::BCrypt
test/fixtures/users.yml:5:in `get_binding'
Это файл фикстур:
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
one:
name: dave
password_digest: <%= BCrypt::Password.create('secret') %>
two:
name: susannah
password_digest: <%= BCrypt::Password.create('secret') %>
Ссылка на github: https://github.com/marko-avlijas/depot
Я понятия не имею, как отладить это, и поиск ошибки не даст мне ничего.
Если я вставлю require 'bcrypt'
вtest_helper Я получаю:
`require ': не могу загрузить такой файл - bcrypt (LoadError)
bo-oz предлагает вставить BCrypt :: Password.create (' secret ') в консольи использовать это в светильниках.Но даже это не работает.Через веб-интерфейс я могу создать нового пользователя, и вывод сервера указывает на отсутствие ошибок, но в консоли я получаю это:
>> BCrypt::Password.create('secret')
NameError: uninitialized constant BCrypt
from (irb):1
>> require 'bcrypt'
LoadError: cannot load such file -- bcrypt
from (irb):2