5

Ich möchte before_action Filter zu ActiveAdmin-Controller hinzufügen.Filter vor Aktion für ActiveAdmin-Controller setzen

Könnte ich etwas tun, wie folgt aus:

before_action :set_product, only: [:show, :edit, :update, :destroy] 

private 

def set_product 
    @product = Product.find_by_name(params[:name]) 
end 
+0

Haben Sie es versucht? Hast du Fehler bekommen? Hat es wie erwartet funktioniert? Wenn ja, dann ja. – BroiSatse

Antwort

10

Sie den Controller aus dem controller do ... end DSL zugreifen:

ActiveAdmin.register User do 

    before_action :set_product, only: [:show, :edit, :update, :destroy] 

    controller do 
    def set_product 
     @product = Product.find_by_name(params[:name]) 
    end 
    end 

end 
+0

Es funktioniert! Ich danke dir sehr! – MikeAndr

+2

Für neuere Versionen von ActiveAdmin sollte 'before_filter' innerhalb des Controllerblocks liegen. –

+1

@OscarBarrett Nein, es funktioniert für mich für die neueste Version von Active Admin (im Moment des Schreibens dieser). – arogachev