Dziedziczenie po klasie kontrolera

Tworzę sekcję administracyjną mini sklepu. Kod odpowiedzialny za sprawdzenie czy użytkownik jest adminem chciałem przenieść do osobnego kontrolera po którym będą dziedziczyć inne kontrolery w sekcji admin. Fragmenty kodu:

[code=ruby]class ApplicationController < ActionController::Base

[…]

helper_method :current_user, :current_cart

protected

def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end

[…]

end[/code]

[code=ruby]class AdminController < ApplicationController
layout “admin”
before_filter :require_admin

private

def require_admin
logger.info(“require_admin called”)
#[…]
logger.info(“user: #{current_user.email}”)
end
end[/code]

class Admin::ProductsController < AdminController def index end #[...] end
Dostaję następujący wyjątek:

You have a nil object when you didn't expect it! The error occurred while evaluating nil.email
I klapa, nie umiem sobie z tym poradzić ;( W kontrolerach dziedziczących po ApplicationController wszystko śmiga jak należy.


Problem rozwiązany. W międzyczasie wyczyściłem tabele session, nie zalogowałem się ponownie, stąd pojawił się nil. Wątek do usunięcia, wszystko ok :wink: