sobota, 21 sierpnia 2010

Korzystanie z autentykacji w całej aplikacji

Jeśli mamy jeden warunek do sprawdzenia czy użytkownik jest zalogowany, możemy umieścić go w before_filter ApplicationController. Dzięki temu, że reszta kontrolerów (co można zmienić) dziedziczy po ApplicationController, będziemy mieli pewność, że w nich też wykona się ten filtr:

class ApplicationController < ActionController::Base
  before_filter :user_
  
  def user_
    @user_id = session[:user_id]
    @is_admin = User.find(@user_id).is_admin if @user_id
  end
Dzięki temu możemy w akcji jakiegoś innego kontrolera:
...
if @is_admin
  @model_object.destroy
  redirect_to :back, :notice => "success"

Brak komentarzy:

Prześlij komentarz