Я программирую приложение на Rails.Я хочу использовать определенный стиль во всем теге HTML на странице индекса, но остальные страницы должны соответствовать макету приложения.Итак, в моем контроллере у меня есть:
def index
render layout: 'index_layout'
end
# All other actions follow this scheme
def any_other_action
end
В макете индекса есть определенный фрагмент кода, который меняет стиль:
<!-- Index layout -->
<html id="index_html">
...
<!-- Application layout (goes normally) -->
<html>
...
Однако, когда я переключаюсь из окна в окно черезтег link_to
в Rails, макет не обновляется, и представление остается с идентификатором, назначенным на предыдущей странице, например, если я перехожу из индекса на любую другую страницу, тег html имеет идентификатор index_html, и наоборотнаоборот.Однако, если я выполню полное обновление (нажатием клавиши F5), макет отображается правильно.Я тестировал в Mozilla Firefox и Chrome, чтобы проверить, была ли эта проблема браузером, но результаты те же.
Мой сервер выдает эти выходные данные, когда я запрашиваю страницу индекса, после того как я перехожу на любую другую страницу с помощью тега link_to
и затем перезагружаю эту новую страницу:
Processing by HomeController#index as HTML
Rendering home/index.html.haml within layouts/index_layout
Rendered home/index.html.haml within layouts/index_layout (9.9ms)
Rendered layouts/_navbar.html.haml (13.6ms)
Completed 200 OK in 1254ms (Views: 1201.9ms | ActiveRecord: 0.0ms)
# Navigation with link_to tag, the index_html id is still appearing
Started GET "/community" for 127.0.0.1 at 2018-06-09 11:45:58-0500
Processing by HomeController#community as HTML
Rendering home/community.html.haml within layouts/application
Rendered home/_community_members_panel.html.haml (6.1ms)
Rendered home/_community_companies_panel.html.haml (8.1ms)
Rendered home/community.html.haml within layouts/application (41.5ms)
Rendered layouts/_navbar.html.haml (10.6ms)
Completed 200 OK in 110ms (Views: 101.0ms | ActiveRecord: 0.0ms)
# Full refresh of the page with F5 key, the index_html id doesn't appear, as it should.
Started GET "/community" for 127.0.0.1 at 2018-06-09 11:46:49 -0500
Processing by HomeController#community as HTML
Rendering home/community.html.haml within layouts/application
Rendered home/_community_members_panel.html.haml (5.6ms)
Rendered home/_community_companies_panel.html.haml (6.6ms)
Rendered home/community.html.haml within layouts/application (19.4ms)
Rendered layouts/_navbar.html.haml (8.4ms)
Completed 200 OK in 74ms (Views: 72.7ms | ActiveRecord: 0.0ms)
Может кто-нибудь дать мне несколькосветит о том, что может быть неудачнымМоя интуиция связана с кешем, но я не могу найти ответ, который может мне помочь.Моя версия Ruby 2.5.1 и моя версия rails 5.1.6