rails only new method generate create before_action before and ruby-on-rails ruby ruby-on-rails-3.1 devise before-filter

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.