스타일 시트에 대한 링크는 HTML에 표시가 있지만 Turbolinks가 켜져있을 때 스타일이 적용되지 않습니까?

StackOverflow https://stackoverflow.com//questions/23035164

문제

저는 큰 사이트를 구축하고 있으며 많은 컨트롤러 특정 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"를 "깔끔하게"

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top