Exercise 1: What has_secure_password Provides — Possible Solution ==================================================================== WHAT IT PROVIDES ------------------------------ Per this chapter, has_secure_password adds a virtual password/password_confirmation attribute pair to the model, plus an authenticate(password) method that checks a submitted plaintext password against the stored hash. THE EXACT COLUMN IT EXPECTS ------------------------------ Per this chapter, has_secure_password expects a real database column named password_digest to already exist on the model's own table - that column is expected to already hold the legacy site's existing bcrypt hash for its admin row. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly describes the virtual attributes and authenticate method has_secure_password adds, and correctly names password_digest as the specific column it depends on being present.