Ruby on Rails - Renderlayout

Ich versuche, eine Website in zwei Abschnitte aufzuteilen. Eines, das das Anwendungslayout verwenden soll, und eines, das das Administratorlayout verwenden soll. In meiner application.rb habe ich eine Funktion wie folgt erstellt:

def admin_layout
  if current_user.is_able_to('siteadmin')
    render :layout => 'admin'
  else
    render :layout => 'application'
  end
end

Und in den Controllern, wo es das eine oder andere sein könnte, habe ich gesetzt

before_filter :admin_layout

Dies funktioniert gut für einige Seiten (wo es nur Text ist), aber für andere bekomme ich den klassischen Fehler:

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each

Hat jemand eine Idee, was ich vermisse? Wie soll ich Rendering und Layout richtig einsetzen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage