заголовки pjax не работают

Заголовки Pjax не работают в моем приложении Rails 3.2.3. Все остальное работает нормально.

Вот тег title в моем application.html.haml:

%title= content_for?(:title) ? yield(:title) : SITE_NAME

Я проверил, что действительно есть content_for(:title), отобразив его в части, которую загружает pjax (и он отлично работает, если вся страница перезагружается). Есть идеи?

Спасибо!


person bevanb    schedule 10.04.2012    source источник


Ответы (2)


Когда страница запрашивается pjax, она отображается без макета, поэтому все, что делается в application.html.haml, не имеет значения.

Вам нужно включить тег в отображаемый HTML-код. Pjax удалит его со страницы (поскольку очевидно, что теги заголовков не относятся к телу) и использует его для установки заголовка страницы.

person Frederick Cheung    schedule 10.04.2012
comment
Спасибо Фредерик. Я думал, что для тега title есть какое-то исключение. - person bevanb; 11.04.2012
comment
Невероятно полезный ответ, который нигде не документирован (как на самом деле?), но совершенно правильный и потрясающий. Спасибо большое! - person alpha1; 01.10.2013

Поскольку #57, pjax также ищет атрибут данных data-title в загружаемом фрагменте и должен обновить основной заголовок.

Это намного чище и не сломает html с title в body.

person mahatmanich    schedule 02.05.2014