Невозможно создать пользователя, получая "ActiveRecord::RecordInvalid: проверка не удалась: пароль не может быть пустым" Ошибка

У меня есть серьезная проблема с пониманием того, что не так в моем коде после того, как реализовано "has_secure_password" . Моя проблема использовать "has_secure_password" и создать нового пользователя.

Я использую рельсы 4

Gemfile

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.5'
gem 'mysql2', '>= 0.3.13', '< 0.5'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'bcrypt', '~> 3.1.7'

2.2.3: 034> user = User.new (имя: "user2", электронная почта: "user2@mail.com", пароль: "1qaz!QAZ", подтверждение пароля: "1qaz!QAZ") => # 2.2.3:035 > user.save! (0,4 мс) НАЧАЛО пользователя существует (0,3 мс) ВЫБРАТЬ 1 как один из users ГДЕ users,email = 'user2@mail.com' LIMIT 1 (0,1 мс) ROLLBACK ActiveRecord::RecordInvalid: проверка не пройдена: пароль не может быть пустым

Моя модель пользователя

class User < ActiveRecord::Base

  attr_accessor :password, :password_confirmation, :remember_token
  has_secure_password

  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
  validates :email, presence:   true,
    format:     { with: VALID_EMAIL_REGEX },
    uniqueness: { case_sensitive: false }
  before_save { email.downcase! }

  validates :password, length: { minimum: 6 }

end

Пожалуйста, помогите мне понять, что не так в моем коде.

0 ответов

Другие вопросы по тегам