Ruby on rails 对整个控制器使用不同的布局

Ruby on rails 对整个控制器使用不同的布局,ruby-on-rails,layout,iframe,ruby-on-rails-3,Ruby On Rails,Layout,Iframe,Ruby On Rails 3,我在一些简单的事情上遇到了问题 我有两个用例 用户直接访问站点 用户正在使用来自的iframe 另一个站点 我想在这两种情况下做同样的事情,除了我不想使用我的网站布局的情况下,它的iframe,所以我有一个“普通”的布局 如何根据具体情况动态分配布局 ieparams[:iframe]==true等 我所做的一切似乎都不管用。这个怎么样 class FramesController < ApplicationController before_filter :decide_on_l

我在一些简单的事情上遇到了问题

我有两个用例

  • 用户直接访问站点
  • 用户正在使用来自的iframe 另一个站点
我想在这两种情况下做同样的事情,除了我不想使用我的网站布局的情况下,它的iframe,所以我有一个“普通”的布局

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

ie
params[:iframe]==true

我所做的一切似乎都不管用。

这个怎么样

class FramesController < ApplicationController
  before_filter :decide_on_layout


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

end
类框架控制器
试试这个

layout :layout_by_resource

def layout_by_resource
  if params[:iframe] == true
    'plain'
   else
    "your-main-layout"
  end
end
这给了我“对于#的未定义方法`布局'”-(
layout :layout_by_resource

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