2012-09-27 14 views
7

Tengo algunos controladores que se utilizan para fines específicos y cada uno tiene una función de "índice def". Like/index usa la página de inicio y llama a la página de inicio no autenticada./jobs/index es otro y/users/index es otro. Cada uno de ellos usa diferentes controladores como JobsController, HomeController, UsersController.Llamar before_filter solo para controladores específicos

Mi ApplicationController tiene una before_filter

before_filter :authenticate_user!, :except => [:index] 

El problema con esto es que esto también se saltará cuando llamo/trabajos/índice o/usuarios/índice (o cualquier otra página/*/index para el caso) ¿Hay alguna manera de que pueda aplicar la cláusula "/ except" solo a la solicitud "home # index" (es decir, HomeController -> página de índice). Probé,

before_filter :authenticate_user!, :except => ["home#index"] but it doesn't work. 

Respuesta

18

Usted puede utilizar

skip_before_filter :authenticate_user! , :only => [:index] 

en su home_controller por faltar a la before_filter para esa acción ...

Cuestiones relacionadas