Что делает: тег layout в response_with в Rails 3? - PullRequest
1 голос
/ 06 октября 2011

Что делает код ниже: макет делает?

respond_with( @comment, :layout => !request.xhr? )

Код выше обрабатывает рендеринг другого типа MIME в зависимости от типа данных запроса (если я правильно понимаю). Что делает тег :layout?

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

Из документации для ActionController :: Responder

response_with также позволяют передавать параметры, которые перенаправляются в базовый вызов рендеринга.Эти параметры являются только применяемыми сценариями успеха.Например, вы можете сделать следующее в методе создания выше:

Так что :layout => !request.xhr? будет передавать эту опцию в рендеринг.Поэтому если бы у вас был HTML-ресурс, называемый обычным запросом, он использовал бы стандартный макет, но HTML-запрос, сделанный как XmlHttpRequest, не использовал бы макет

0 голосов
/ 12 ноября 2012

Вам не нужно использовать форматирование способом.Это тоже прекрасно работает:

respond_to :html; :json
respond_with(@product, :layout => "landingpage")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...