Zaczynam nowy projekt a że trochę potrwa to postanowiłem zacząć już w RoR5 i od razu problem.
class User < ActiveRecord::Base
has_secure_password
validates :login, presence: true, uniqueness: true, length: {minimum: 6, maximum: 50}
validates :email, :presence => true
validates :password, length: { minimum: 6 }, unless: -> { password.nil? }
def self.authenticate(login, password)
user = find_by login: login
unless user
return false
end
unless user.try( :authenticate, password )
return false
end
user
end
end
I teraz chcę utworzyć w konsoli pierwszego użytkownika.
$ rails c
Loading development environment (Rails 5.0.0.beta4)
2.2.4 :001 > u=User.create({login:"root", email:"root@domain.tld", password:"1qaz2wsx", password_confirmation:"1qaz2wsx"})
(0.1ms) begin transaction
User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE "users"."login" = ? LIMIT ? [["login", "root"], ["LIMIT", 1]]
(0.1ms) rollback transaction
=> #<User id: nil, login: "root", email: "root@domain.tld", password_digest: "$2a$10$QSoWWJ4F4A2j8BnoN8Iwl.NtqvzSf92rmQsfit/95vT...", roles_mask: nil, auth_token: nil, reset_password_token: nil, reset_password_send_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, failed_attempts: 0, unlock_token: nil, locked_at: nil, blocked: false, created_at: nil, updated_at: nil>
Co tu się dzieje? Baza jest pusta więc skąd “User Exist”?