CSS фон не меняется после нажатия на ссылку - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть приложение ruby ​​on rails.При нажатии на ссылку, которая ведет на другую страницу, где не задан фон для элемента body, фон не изменяется.Однако, если вы перезагрузите новую страницу, это произойдет.

Я попытался перезаписать фоновое изображение на новой странице, к которой ведет ссылка, но это тоже не помогло.

Весь код может бытьнайдено здесь но ссылки, о которых я говорю, например <a href="<%= articles_list_path %>">Inhaltsverzeichnis</a> github .CSS, о котором я говорю, это

body {
    background-image: url(<%= asset_path 'background.jpg' %>);
    background-position: center;
    background-size: cover;
}

в соответствующем представлении .Он не включается в DOM, если вы щелкнете по ссылке, но все равно отображается в браузере.

Текущая ветвь master также развернута здесь .Если вы перейдете на эту страницу и нажмете «Inhaltsverzeichnis» на панели навигации в левом верхнем углу страницы, вы перейдете на новую страницу, и фоновое изображение останется.Если вы сейчас перезагрузите страницу, фоновое изображение исчезнет, ​​и сайт будет выглядеть так, как должен.

Может кто-нибудь объяснить мне, что я делаю не так?Мне кажется, что сайт каким-то образом неправильно кэшируется или что-то в этом роде.

Кроме того, проблема возникает, только если вы нажимаете на ссылки на странице, если вы вводите URL-адрес самостоятельно, страница загружается правильно в первую очередь.

Заранее спасибо за любыепомощь:)

1 Ответ

0 голосов
/ 27 сентября 2019

Я выяснил, в чем проблема.

Rails по умолчанию связывает turbolinks , который не перезагружает <head> новой страницы, если вы нажмете ссылку, чтобы сделать загрузкустраницы быстрее.Поэтому, когда я поместил свои теги стиля в <head> страницы, эти атрибуты не изменились, пока вы не перезагрузили страницу.Быстрое решение проблемы заключалось в удалении турболинков, но в долгосрочной перспективе я, вероятно, попытаюсь снова ввести его, но затем правильно настроить свою страницу, чтобы использовать ее в своих интересах.

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