"has_secure_password" を実装した後、コードの何が問題なのかを理解するのに深刻な問題があります。「has_secure_password」を使用して新しいユーザーを作成するという私の問題。
Rails4を使用しています
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(name: "user2", email: "user2@mail.com", password: "1qaz!QAZ", password_confirmation: "1qaz!QAZ") => # 2.2.3 :035 > user.save! (0.4ms) BEGIN ユーザーが存在します (0.3ms) FROM users
WHEREとして 1 を選択しusers
ます。email
= 'user2@mail.com' LIMIT 1 (0.1ms) 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
私のコードで何が間違っているかを理解するのを手伝ってください。