ActsAsAuthenticには、次のような構成オプションがあります。
acts_as_authentic do |config|
config.merge_validates_length_of_password_field_options :within => 4..40
config.merge_validates_confirmation_of_password_field_options :within => 4..40
end
残念ながら、RestfulAuthentication にはこれらの構成オプションがありません。正しい解決策は、 RestfulAuthenticationプロジェクトをフォークして追加することです。
それまでの間、次のようにモンキー パッチを適用できますAuthentication::ByPassword.included
。
# in app/models/user.rb:
Authentication::ByPassword.class_eval do
def self.included(base)
recipient.extend(ModelClassMethods)
recipient.class_eval do
include ModelInstanceMethods
# Virtual attribute for the unencrypted password
attr_accessor :password
validates_presence_of :password, :if => :password_required?
validates_presence_of :password_confirmation, :if => :password_required?
validates_confirmation_of :password, :if => :password_required?
validates_length_of :password, :within => 4..40, :if => :password_required?
before_save :encrypt_password
end
end
end