Ruby on rails 3.1 rails资源的预编译问题

Ruby on rails 3.1 rails资源的预编译问题,ruby-on-rails-3.1,precompile,asset-pipeline,Ruby On Rails 3.1,Precompile,Asset Pipeline,我确信我这样做是错误的,但我不能让它与资产一起工作:预编译,我不确定它是否应该是平衡的 #plant.css.erb <% plants = Plant.all if plants plants.each do |plant| %> .plant_<%= plant.id %> { background-color: #<%= plant.color %>; padding: 1px; } <% e

我确信我这样做是错误的,但我不能让它与资产一起工作:预编译,我不确定它是否应该是平衡的

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

我感谢任何人能给予的帮助。如果我没有提供足够的信息,请告诉我我需要什么,我会很乐意提供。

我不确定您的语法有什么问题,但总体上看,这种方法似乎有点与标准相反。通常不会为每个对象创建新的CSS规则。为什么不像这样

# views/plants/index.html.erb
<div class="plant plant-<%= plant.color %>
...
</div>
也许你不这么做是因为没有数量有限的不同颜色的植物?你有一整条彩虹的颜色吗?在这种情况下,更适合使用“老式”和样式标记:

# views/plants/index.html.erb
<div class="plant" style="background-color:#<%= plant.color %>" >  
#视图/plants/index.html.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 %>" >