2011-10-06 182 views
0

我確定我只是這樣做的錯誤方式,但我不能得到這與資產的工作:預編譯和即時消息不知道它應該是均勻的。預編譯問題導軌資產

#plant.css.erb 
<% 
plants = Plant.all 
if plants 
    plants.each do |plant| 
%> 
    .plant_<%= plant.id %> { 
     background-color: #<%= plant.color %>; 
     padding: 1px; 
    } 
<% 
    end 
end 
%> 

我得到這個錯誤:

Invalid CSS after "...kground-color: ": expected expression (e.g. 1px, bold), was "#;" 
/rails/ship/releases/20111006191503/app/assets/stylesheets/application.css) 

我感謝所有幫助,任何人都可以給。如果我沒有提供足夠的信息,請告訴我需要什麼,我會很樂意提供。

回答

1

我不確定你的語法有什麼問題,但是整個方法似乎與規範有點顛倒。通常,不會爲每個對象創建新的CSS規則。爲什麼不能像

# views/plants/index.html.erb 
<div class="plant plant-<%= plant.color %> 
... 
</div> 

,然後在你的CSS文件(無需ERB)定義短短類

# plant.css 
plant_red {background-color: #F00;} 
plant_blue {background-color: #00F;} 

也許你不這樣做,因爲沒有有限數量的不同顏色的植物?例如。你有一個全綵的彩虹?在這種情況下,去「舊學校」並使用樣式標記真的更合適:

# views/plants/index.html.erb 
<div class="plant" style="background-color:#<%= plant.color %>" > 
+0

我跟着你的風格建議,因爲顏色是由用戶動態選擇的。謝謝 –