tutorial rails gema example ejemplos ruby-on-rails devise before-filter

ruby-on-rails - rails - gema devise



Especifique qué controladores excluir de before_filter (4)

Estoy usando el dispositivo para la autenticación y tengo algunos filtros_antes en el controlador de mi aplicación. El problema que estoy viendo es que cuando intento cerrar la sesión, el before_filter intercepta eso y me mantiene en la vista que he configurado en el before_filter. ¿Hay alguna manera de especificar qué controladores deberían excluirse del controlador de la aplicación o algún otro archivo?



En el controlador en el que desea omitir un filtro anterior especificado en un controlador heredado, puede indicarle a los rieles que omitan el filtro

class ApplicationController before_filter :authenticate_user! end class SessionsController < ApplicationController skip_before_filter :authenticate_user! end


Las respuestas anteriores son buenas excepto: DEPRECATION WARNING: skip_before_filter is deprecated and will be removed in Rails 5.1. Use skip_before_action instead. DEPRECATION WARNING: skip_before_filter is deprecated and will be removed in Rails 5.1. Use skip_before_action instead.

Por lo tanto, utilice before_action y skip_before_action lugar de *-filter .


Puede calificar un filtro con :only o :except .

before_filter :filter_name, :except => [:action1, :action2]

O si el filtro (como ahora lo veo es el caso en su situación) se define en ApplicationController y desea skip_before_filter en un controlador de subclase, puede usar un skip_before_filter con las mismas calificaciones en el controlador de la subclase:

skip_before_filter :filter_name, :except => [:action1, :action2]