2010-11-03 27 views
6

Tengo problemas con algo que debería ser simple.usando diferentes diseños para un controlador completo

Tengo dos casos de uso ...

  • El usuario es el sitio directamente
  • El usuario está usando un iframe de otro sitio

quiero hacer la misma cosa en cualquier caso, excepto que no quiero utilizar el diseño de mi sitio web en el caso es el iframe, así que tengo un diseño "simple"

layout "plain" 

¿Cómo puedo asignar dinámicamente el diseño dependiendo del caso ..

es decir params[:iframe] == true etc.

Nada de lo que hago parece funcionar.

Respuesta

8

probar esto

layout :layout_by_resource 

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

¿Qué tal esto

class FramesController < ApplicationController 
    before_filter :decide_on_layout 


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

end 
+1

que me da "método no definido layout'' para # " ;-( – holden

Cuestiones relacionadas