rails gema current_user create confirmable ruby-on-rails devise devise-confirmable

ruby-on-rails - gema - rails devise confirmable email



Rails 3 Devise el filtro de confirmaciĆ³n (1)

Me pregunto si es posible requerir de forma selectiva la confirmación de ciertas acciones del controlador usando Devise.

Básicamente: deseo que los usuarios se registren en una cuenta (lo que activará un correo electrónico de confirmación), que inicien sesión automáticamente y que puedan explorar de manera inmediata ciertas partes del sitio como usuario registrado (pero aún no confirmado) . El acceso a ciertas áreas (por ejemplo, pago) requeriría que el usuario primero confirme su correo electrónico .

Espero algo como before_filter: user_is_confirmed, only: [payment_related_stuff]

Busqué por un tiempo y no pude encontrar una manera de hacerlo de la caja, así que pensé en crear una solución hacky en la que todas las áreas posiblemente protegidas aún requirieran before_filter: authenticate! , pero anularía la creación de Devise SessionsController para permitir el acceso permisible a ciertas áreas antes de la confirmación. Sin embargo, no estoy seguro de si este es el camino correcto a seguir.


Usando la solución incorporada en el allow_unconfirmed_access_for 1.year , podrías usar allow_unconfirmed_access_for 1.year en combinación con current_user.confirmed? en tu filtro anterior