Я разработал несколько тестов в Rails, которые отлично работают. Затем я добавил:
- В файле модели: has_secure_password
- В файле Gem: gem 'bcrypt', '3.1.7' (после установки пакета он отображается в Gemfile.lock)
- Я добавил password_digest в качестве строки в файл миграции (и после миграции он действительно отображается в schema.rb)
И я добавил пароль и пароль_подтверждение для настройки в тестовом файле:
def setup
@user = User.new(email: "[email protected]",
username: "example user",
firstname: "Allan",
location: "Europe",
password: "foobar",
password_confirmation: "foobar")
end
Теперь, когда я запускаю rake test
, я получаю сообщения об ошибках:
NoMethodError: undefined method 'password_digest=' for #<User:0x00000002f9c020> test/models/user_test.rb:6:in 'setup'.
Строка 6 относится к строке @user = User.new...
Таким образом, похоже, что драгоценный камень и дополнительный столбец реализованы правильно, и все же я получаю это сообщение об ошибке. Кто-нибудь знает, что может быть причиной?
bundle exec rake db:migrate VERSION=0
, а затемbundle exec rake db:migrate
, но это не помогло. - person Nick   schedule 11.04.2015rake db:test:prepare
— он загрузит ваш текущий schema.rb в вашу тестовую базу данных. - person BroiSatse   schedule 11.04.2015rake db:test:prepare
. - person Nick   schedule 11.04.2015