Ruby on Rails - rendu de mise en page

Je suis en train de diviser un site web en deux sections. Qui devrait utiliser la présentation de l'application et qui doit utiliser le layout admin. Dans mon application.rb, j'ai créé une fonction, comme suit:

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

Et dans les contrôleurs, où il pourrait être l'un ou l'autre j'ai mis

before_filter :admin_layout

Cela fonctionne très bien pour certaines pages (où son juste du texte) mais pour les autres, j'obtiens l'erreur classique:

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

Quelqu'un a une idée de ce que je suis absent? Comment dois-je utiliser correctement le rendu et la mise en page?

InformationsquelleAutor RyanJM | 2009-07-14