используя разные макеты для всего контроллера - PullRequest
6 голосов
/ 03 ноября 2010

У меня проблемы с чем-то, что должно быть простым.

У меня есть два варианта использования ...

  • Пользователь сайта напрямую
  • Пользователь использует iframe из другой сайт

Я хочу сделать то же самое в любом случае, за исключением того, что я не хочу использовать макет для своего веб-сайта, в случае, если это iframe, поэтому у меня "простой" макет

layout "plain"

Как я могу динамически назначить макет в зависимости от случая ..

т.е. params[:iframe] == true и т. Д.

Ничего, что я делаю, похоже, не работает.

Ответы [ 2 ]

8 голосов
/ 03 ноября 2010

попробуйте

layout :layout_by_resource

def layout_by_resource
  if params[:iframe] == true
    'plain'
   else
    "your-main-layout"
  end
end
0 голосов
/ 03 ноября 2010

Как насчет этого

class FramesController < ApplicationController
  before_filter :decide_on_layout


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

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...