Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed Issue #2884 ActiveModel::SecurePassword code / rdoc conflict; a…

…n elucidated explanation has been provided and ActiveModel en-locale updated to present a less confusing attribute name for 'password_digest' in form errors due to "has_secure_password"
  • Loading branch information...
commit 47916cc5205ab94837173ce0a90b5d09329d88f1 1 parent 800c70a
@bsodmike authored
View
4 activemodel/lib/active_model/locale/en.yml
@@ -1,4 +1,8 @@
en:
+ attributes:
+ # Prevent confusion in form errors due to 'has_secure_password'
+ password_digest: "Password"
+
errors:
# The default format to use in full error messages.
format: "%{attribute} %{message}"
View
13 activemodel/lib/active_model/secure_password.rb
@@ -10,6 +10,19 @@ module ClassMethods
# a "password_confirmation" attribute) are automatically added.
# You can add more validations by hand if need be.
#
+ # Note: the implementation of <tt>has_secure_password</tt> enforces presence validation
+ # on the <tt>:password_digest</tt> attribute rather than on <tt>:password</tt>, which is
+ # in fact a virtual reader attribute. However, <tt>validates_confirmation_of</tt> ensures
+ # an indirect means of presence validation of <tt>:password</tt> if the
+ # <tt>:password_confirmation</tt> attribute is not nil.
+ #
+ # You may want to add presence validation on <tt>:password</tt> for the benefit of your forms
+ #
+ # class User < ActiveRecord::Base
+ # has_secure_password
+ # validates :password, :presence => { :on => :create }
+ # end
+ #
# You need to add bcrypt-ruby (~> 3.0.0) to Gemfile to use has_secure_password:
#
# gem 'bcrypt-ruby', '~> 3.0.0'
Please sign in to comment.
Something went wrong with that request. Please try again.