为整个控制器使用不同的布局

时间:2010-11-03 20:02:11

标签: ruby-on-rails layout iframe ruby-on-rails-3

我遇到的问题应该很简单。

我有两个用例...

  • 用户是直接
  • 的网站
  • 用户正在使用iframe 另一个网站

我想在任何一种情况下都做同样的事情,除非我不想在我的网站使用布局,因为它是iframe所以我有一个“普通”的布局

layout "plain"

如何根据情况动态分配布局..

params[:iframe] == true等。

我所做的一切似乎都无法发挥作用。

2 个答案:

答案 0 :(得分:8)

试试这个

layout :layout_by_resource

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

答案 1 :(得分:-1)

这个怎么样

class FramesController < ApplicationController
  before_filter :decide_on_layout


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

end