2012-11-14 20 views
0

我有下面的文件,我創建了一個動態的CSS菜單,包括我現有的所有文件。但是這隻在重新啓動服務器時運行。如何在我的模型或我的控制器上運行它?在模型或控制器中運行ruby文件

菜單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來渲染它。

但是,這感覺就像一個「錯誤」的問題的解決無論哪種方式...

相關問題