스타일 시트에 대한 링크는 HTML에 표시가 있지만 Turbolinks가 켜져있을 때 스타일이 적용되지 않습니까?
-
21-12-2019 - |
문제
저는 큰 사이트를 구축하고 있으며 많은 컨트롤러 특정 CSS를 갖고 싶습니다.
Turbolinks를 사용하고 싶지만 Turbolinks가 새 페이지를로드 할 때 컨트롤러 특정 스타일이 적용되지 않습니다.
그러나 동일한 페이지에있는 경우 "새로 고침"버튼을 클릭하면 스타일이 잘 적용됩니다.그래서 스타일은 HTML에 있지만 Turbolinks가 작동하는 방식 때문에 적용되지 않습니다.
내 레이아웃 템플리트 파일에 있습니다 :
= stylesheet_link_tag "application", :media => "all"
= stylesheet_link_tag params[:controller]
.
사이드 메모
My Application.css 파일의
*= require_directory .
.
i 이이를 변경할 수 있습니다.
*= require_tree .
.
모든 CSS를 포함 하고이 문제가 없지만 이는 나쁜 해결책과 같습니다.나는이 스타일을 넓게로드하는 모든 솔루션을 사용하지 못하고 싶습니다.
해결책
컨트롤러 별 스타일 시트를 사용하려면 응용 프로그램 레이아웃에이를 포함 할 수 있습니다.
<%= stylesheet_link_tag controller_name, media: "all", "data-turbolinks-track" => true %>
.
Application.css에서 require
매니페스트에서 컨트롤러 중심의 종속성을 호출하지 마십시오.컨트롤러 스타일 시트 및 응용 프로그램 스타일 시트를 독립적으로 처리
Rails의 inconter_name in Rails는 헬퍼 메소드입니다.컨트롤러의 이름 :
클래스 이름을 다음과 같은 것으로 변환합니다. "OneModule :: Twomodule :: NeatController"를 "깔끔하게"
제휴하지 않습니다 StackOverflow