Итак, я пытаюсь изменить макет представления на основе параметров URL.
До сих пор я понял, что мне нужно установить макет в контроллере. В моем контроллере под действием show у меня есть:
if params['iframe'] == 'true'
render :layout => 'vendored'
end
Макет «vendored» существует в представлениях/макетах. Я получаю ужасный рендеринг несколько раз. Вот остальная часть действия show в моем контроллере:
def show
@event = Event.find(params[:id])
@user = current_user
@approved_employers = current_user.get_employers_approving_event(@event) if user_signed_in?
respond_with(@event)
Проблема в том, что я не вижу другого рендера. Я не вижу другого во всем контроллере. Конечно, где-то есть рендеринг, потому что он рендерит макет моего приложения по умолчанию, это вызывает проблему? Я прочитал в документации по рельсам, что я могу добавить
and return
до конца, и это должно решить проблему, но не уверен, куда это поместить, поскольку два рендера не рядом друг с другом. Я также не вижу никаких других redirect_to. Где я должен искать этот другой рендер? В этом проблема?