Comment faire Concevoir verrouillable avec le nombre de tentatives infructueuses

À l'aide de Concevoir 2.1.2 et les Rails 3.2.6

Je suis en train de faire ce Q&A juste dans le cas d'autres exécuter ce problème car j'ai trouvé un peu dispersée et de la documentation pour elle.

Cette erreur peut se produire si vous essayez de mettre en place Devise comme verrouillable.

undefined local variable or method `locked_at' for [someClass]

Cela signifie que votre modèle n'a pas les attributs appropriés.

Conditions préalables:
Configurer les éléments suivants dans le fichier config/initializers/concevoir.rb

# ==> Configuration for :lockable
# Defines which strategy will be used to lock an account.
# :failed_attempts = Locks an account after a number of failed attempts to sign in.
# :none            = No lock strategy. You should handle locking by yourself.
config.lock_strategy = :failed_attempts

# Defines which key will be used when locking and unlocking an account
config.unlock_keys = [ :email ]

# Defines which strategy will be used to unlock an account.
# :email = Sends an unlock link to the user email
# :time  = Re-enables login after a certain amount of time (see :unlock_in below)
# :both  = Enables both strategies
# :none  = No unlock strategy. You should handle unlocking by yourself.
config.unlock_strategy = :email

# Number of authentication tries before locking an account if lock_strategy
# is failed attempts.
config.maximum_attempts = 20

# Time interval to unlock the account if :time is enabled as unlock_strategy.
# config.unlock_in = 1.hour

Configurer votre modèle d'inclure devise :lockable:

class Example < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :lockable
  • Je suis d'accord avec "peu" et "dispersés" de la documentation....
InformationsquelleAutor David Nix | 2012-08-10