aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel
diff options
context:
space:
mode:
authorMark Thomson <nzl216@gmail.com>2012-03-13 02:37:53 -0500
committerMark Thomson <nzl216@gmail.com>2012-03-13 02:37:53 -0500
commitbc8b55c5c382b6747e490c04d9d74dc8322bd23c (patch)
tree1a1e0b4a66cf7f4b4aacc4b898356a3b4834f288 /activemodel
parent4cb71eaf463bb6a12edd1aaf222e9f1e3269bea7 (diff)
parent30b2dd431e889ba613511763152a28bab623b90e (diff)
downloadrails-bc8b55c5c382b6747e490c04d9d74dc8322bd23c.tar.gz
rails-bc8b55c5c382b6747e490c04d9d74dc8322bd23c.tar.bz2
rails-bc8b55c5c382b6747e490c04d9d74dc8322bd23c.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'activemodel')
-rw-r--r--activemodel/lib/active_model/locale/en.yml4
-rw-r--r--activemodel/lib/active_model/secure_password.rb13
2 files changed, 17 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/locale/en.yml b/activemodel/lib/active_model/locale/en.yml
index ba49c6beaa..1842ba002f 100644
--- a/activemodel/lib/active_model/locale/en.yml
+++ b/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}"
diff --git a/activemodel/lib/active_model/secure_password.rb b/activemodel/lib/active_model/secure_password.rb
index e7a57cf691..7c529cb67b 100644
--- a/activemodel/lib/active_model/secure_password.rb
+++ b/activemodel/lib/active_model/secure_password.rb
@@ -10,6 +10,19 @@ module ActiveModel
# 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'