2016-08-06 5 views
1

ich installierte devise und ich habe auf die Benutzertabelle einen Datensatz oder eine Spalte hinzugefügt (Ich bin nicht sicher, wie man es nennen) ein Admin: boolean und standardmäßig ist es falschRails vor der Aktion zu überprüfen, ob Admin

In mein routes.rb ich habe diese/admin Link

erstellt
get 'admin' => 'admin#index' 

und ich bin nicht sicher, wie es auch für die Verwaltung nur zeigen

class AdminController < ApplicationController 
    before_action: I have no idea what to write here 

    def index 
    end 

end 

Antwort

2

in Ihrem Controller wie folgt aus Versuchen:

class AdminController < ApplicationController 
    before_action :is_admin? 

    def index 

    end 


    # it will call before every action on this controller 
    def is_admin? 
     # check if user is a admin 
     # if not admin then redirect to where ever you want 
     redirect_to root_path unless current_user.admin? 
    end 

end 
+0

Vielen Dank, sollte die is_admin Methode innerhalb privat sein? –

+0

Ja, Sie können es privat einstellen. –

+0

Sie haben meinen Tag gerettet, also wetten Sie, dass ich es annehmen werde, vielen Dank! –

Verwandte Themen