2012-11-14 2 views
0

다음 파일을 사용하여 모든 기존의 동적 CSS 메뉴를 만듭니다. 그러나 이것은 서버를 다시 부팅 할 때만 실행됩니다. 내 모델이나 컨트롤러에서 어떻게 작동시킬 수 있습니까?모델 또는 컨트롤러에서 루비 파일을 실행하십시오.

메뉴 icon.scss.erb

li [class^="icon-menu"], li [class*=" icon-menu"] { 
    background-position: left center; 
    background-repeat: no-repeat; 
    height: 16px; 
    vertical-align: middle; 
    width: 22px; 
} 

<% Menu.all.each do |m| %> 
    .icon-menu<%= m.id %> { 
    background-image: url('/icons/<%= m.icon_file_name %>'); 
    } 
<% end %> 
+0

"모델 또는 컨트롤러에서 실행"이란 무엇을 의미합니까? 이것은 scss.erb 파일입니다. * runnable *이 아닙니다. –

답변

0

일부 동적 CSS를 생성 할 일은 원하는 무엇을, 왜 단지 erb 부분 다음 content_for 같은 평범한를 사용하지 않으면

<% content_for :menu do %> 
    <% Menu.all.each do |m| %> 
    .icon-menu<%= m.id %> { 
     background-image: url('/icons/<%= m.icon_file_name %>'); 
    } 
    <% end %> 
<% end %> 

그런 다음 메뉴를 표시 할 때마다 yield을 사용하여 렌더링하십시오.

그러나 이것은 문제의 "잘못된"해결책처럼 느껴집니다 ...

관련 문제