2013-02-18 4 views
7

레일스 자산 파이프 라인을 사용하여 슬림 템플릿을 사전 컴파일 할 수 있다면 매우 편리 할 것입니다. 내 템플릿을 app/assets/html에 집어 넣어 그런 식으로 제공하기를 바랬습니다.레일스 자산 파이프 라인을 사용하여 슬림 템플릿을 사전 컴파일

# config/initializers/slim.rb 
Rails.application.assets.register_engine('.slim', Slim::Template) 

# config/application.rb 
config.assets.paths << "#{Rails.root}/app/assets/html" 
config.assets.register_mime_type('text/html', '.html') 

실행 레이크 자산 : 여기

는 내가 지금까지 가지고 무엇을 사전 컴파일 앱/자산에 .html.slim 파일을 읽고/html로하지만 그들과 여전히 출력 파일을 컴파일되지 않습니다 .slim 확장자를가집니다.

이 방법을 사용할 수 있습니까?

답변

1

대답을 @의 커트에 - 뮐러가 올바른지 만 필요하다 Sprockets 3+가 장착 된 레일 4 용으로 업데이트됩니다. 초기화 중에 assets 속성이 없음을 의미하는 스프로킷의 변경 사항이있었습니다. 대신 당신이 할 수 있습니다

# config/initializers/slim.rb 

Rails.application.config.after_initialize do |app| 
    app.config.assets.configure do |env| 
    env.register_engine(".slim", Slim::Template) 
    end 
end 
+0

는 [추천 방법]을 사용하는 내 대답 업데이트 (https://github.com/rails/sprockets-rails/issues/307#issuecomment-170707886). –

0
당신은 production.rb에이 같은 새 경로를 추가 할 수

:

config.assets.precompile += ["*.js", "*.css", "*.slim"] #whatever you need 
1

죄송합니다 나는 파티에 지각 해요,하지만 딜런 뷰캐넌이 질문에 here 대답했다.

이동합니다 config/initializers 디렉토리 및 slim_assets.rb (또는 비슷한)와 같은 파일을 생성하고 다음 줄 파스타를 복사합니다

Rails.application.assets.register_engine('.slim', Slim::Template) 

내가 사용 HAML (큰 성공과 비슷한 짓을했는지를 Rails/AngJS 응용 프로그램 용 템플릿을 작성).

-1

당신이 사전 컴파일 배열로 정적 파일을 추가해야합니다

config.assets.precompile + = %를 (공급 업체/모더 나이저으로 404.html) 승