ruby on rails - only - Rails before_filter para acciones específicas en el controlador
rails views (1)
Crea en tu método ApplicationController
:
def check_privileges!
redirect_to "/", notice: ''You dont have enough permissions to be here'' unless current_admin || current_company
end
Y luego en su controlador:
before_filter :check_privileges!, only: [:new, :create, :edit, :save]
O
before_filter :check_privileges!, except: [:index, :show]
def new
before_filter do
redirect_to "/" unless current_admin || current_company
flash[:notice] = ''You dont have enough permissions to be here'' unless current_admin || current_company
end
CODE CODE CODE
end
def edit
before_filter do
redirect_to "/" unless current_admin.id = 5
flash[:notice] = ''You dont have enough permissions to be here'' unless current_admin || current_company
end
CODE CODE CODE
end
Este es el código que quiero hacer, pero no puedo averiguar cómo hacerlo bien. Lo que quiero lograr es aplicar una regla before_filter para cada una de mis acciones. Entonces, tal vez un usuario pueda acceder a la acción INDEX pero no a la acción EDITAR, etc. Sé que el método before_filter se ejecuta una sola vez, y no puedo ejecutar 4 before_filters, solo estoy dando alguna referencia debido a mi pobre inglés.
Debe saber que estoy usando Devise para los métodos current_admin y current_company. Necesito aplicar diferentes filtros (si es admin o si company.id = X) y otras acciones.
Gracias de antemano, estoy bastante atrapado aquí. Cualquier ayuda será apreciada.