0

나는 아주 이상한 문제로 실행 중에 해석되지 ie_hex_str :부트 스트랩-말대꾸> 자산을 사전 컴파일

내가 함께 일하고 있어요 :

  • 레일 3.1.1
  • 부트 스트랩 - 말대꾸 1.4.4 (아직 2.0로 업그레이드 할 시간이 없었다)

이전 부트 스트랩 - 말대꾸 1.4.0의 알려진 문제는 하나의 IE가 표시 그라디언트에 관한 here을 설명했다. 이것은 IE의 ie_hex_str 기능 (I 이해 것과) 도입과 특정 필터에 의해 1.4.3에서 수정되었습니다 좋아 :

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie_hex_str($startColor)}', endColorstr='#{ie_hex_str($endColor)}', GradientType=0); 

일부 세부 사항 here 주어집니다.

나는 여전히 문제가 내 문제는 자산을 사전 컴파일 후 나는 같은 것을 얻을 수 있습니다 : 자산을 컴파일 할 때 ie_hex_str 해석되지 않은됩니다

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='ie_hex_str(#FFFFFE)', endColorstr='ie_hex_str(#E6E6E6)', GradientType=0); 

합니다. 무슨 일이 일어나고 있는지 이해할 수 없도록 부트 스트랩 코드를 건드리지 않았으므로 ...

어떤 생각이 있으십니까?

UPDATE :

은 "재미"일이 내가 레일 및 부트 스트랩 - 말대꾸의 동일한 버전을 사용하고 거의 같은 일을하고있는이 응용 프로그램을하고이 같은 방식으로 반응하지 않는다는 것입니다. 하나의 경우 ie_hex_str이 올바르게 해석됩니다.

답변

0

무슨 일인지 알 수 없습니다. bootstrap-sass의 sass mixins에있는 함수가 자산 사전 컴파일 중에 해석되지 않는 것 같습니다. 내가 알아낼 수 있기

왜, 내가 해결 방법을 사용 : 내가 필요로하는 색상을 사용

.btn { 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFFFE, endColorstr=#FFE6E6E6, GradientType=0); 

    .primary { 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FF049CDB, endColorstr=#FF0064CD, GradientType=0); 
    } 
} 

: 나는 같은 BTN으로 사용하고 정의를 오버라이드. 적어도 잘 작동합니다.

0

문제는 (3.1 레일) application.rb에 설정 initialize_on_precompile 자산 파이프 라인 에 의한 것으로 나타납니다

config.assets.initialize_on_precompile = false 

은 "ie_hex_str"프리 D 문제는 응용 프로그램에서이 라인을 포함 할 때 우리를 위해 나타났다. rb. 댓글을 달거나 댓글을 달아서 문제가 해결되었습니다.

  • 레일 3.1.3
  • 스트랩-사스 1.4.4