2011-09-26 2 views
1

레일즈 3.1에서 .scss 템플릿 핸들러를 등록하려면 어떻게해야합니까? 이미 application/assets 디렉토리에서 .scss 파일을 사용할 수 있지만 응용 프로그램 환경 및 인스턴스 변수에 액세스해야한다는 것을 알고 있습니다. 나는 이런 식으로 뭔가를 할 노력하고있어Rails3 : scss 템플릿 핸들러 등록 방법

(최종 목표는 동적하는 SCS 파일을 가지고있다) :

file: app/views/css/layout.css.scss.erb 

$site_width = <%= @site.width %>px; 

.container { width: $site_width; } 

자산 디렉토리와 함께 "문제는"우리는에 액세스 할 수없는 것입니다 거기에 응용 프로그램 환경.

나는, 그러나 그것은 올바른 방법 : 사전에 어떤 도움이나 아이디어

file: initializers/scss_template_handler.rb 

ActionView::Template.register_template_handler :scss, Sass::Rails::ScssTemplate.new 

감사 아니라,이 방법을 달성하기 위해 노력!

+0

CSS에 값을 전달해야하는 이유에 대한 정보를 좀 더 주시겠습니까? 무엇을 성취하려고합니까? 핸들러를 망칠 필요가없는 피할 수있는 몇 가지 대체 (더 깔끔한) 방법이 있습니다. (그리고 나는 직접 질문에 대답 할 수 없습니다!). –

+0

"최종 목표는 동적 scss 파일을 갖는 것입니다." 예 : 우리는 사이트에 대한 레이아웃 및 색상의 사용자 별 스타일을 가질 수 있으며 이러한 스타일은 DB에 저장 될 수 있습니다. –

답변

1

해결책을 찾았습니다.

이 요령을 따르면 : https://gist.github.com/827572을 쉽게 등록 할 수 있습니다 : scss 템플릿 처리기!

그러나 여기에 또 다른 showstopper가 있습니다. :) - 여러 템플릿 핸들러로 파일을 처리합니다. 나는 새로운 질문을 열 것이다.