Rails コンソールから SQLiteDB に新しいレコードを挿入しようとしています。を使用するだけUser.create()
です。
行がデータベースに表示されません。メッセージはユーザーが存在することを意味しますが、呼び出しUser.first
が返さnull
れ、データベースを確認すると空のテーブルが表示されます。私は何が欠けていますか?
入力:
console > User.create(name: 'don', email: 'don@gmaill.com', password: 'test', password_confirmation: 'test')
出力:
(0.1ms) begin transaction
User Exists (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'don@gmaill.com' LIMIT 1
(0.0ms) rollback transaction
=> #<User id: nil, name: "don", email: "don@gmaill.com", created_at: nil, updated_at: nil, password_digest: "$2a$10$3EK3L932ryjrJPFIc4E0/uzavrpkWylDRzx4Wkdwzx8d...">
ユーザー クラス:
class User < ActiveRecord::Base
before_save { self.email = email.downcase }
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sen,sitive: false }
has_secure_password
validates :password, length: { minimum: 6 }
end