2010-11-03 6 views
6

J'ai des problèmes avec quelque chose qui devrait être simple.en utilisant différentes dispositions pour un contrôleur entier

J'ai deux cas d'utilisation ...

  • L'utilisateur est le site directement
  • L'utilisateur utilise un iframe de un autre site

Je veux faire la même chose dans les deux cas, sauf que je ne veux pas utiliser la mise en page pour mon site Web dans le cas où c'est l'iframe, donc j'ai une mise en page "simple"

layout "plain" 

Comment puis-je attribuer dynamiquement la mise en page selon le cas ..

-à-dire params[:iframe] == true etc.

rien que je ne semble fonctionner.

Répondre

8

essayer cette

layout :layout_by_resource 

def layout_by_resource 
    if params[:iframe] == true 
    'plain' 
    else 
    "your-main-layout" 
    end 
end 
-1

Que diriez-vous de cette

class FramesController < ApplicationController 
    before_filter :decide_on_layout 


    protected 
    def decide_on_layout 
    layout "plain" if params[:iframe] == "y" 
    end 

end 
+1

qui me donne "méthode non définie mise en page » pour # " ;-( – holden

Questions connexes