0

我确定我只是以错误的方式这样做,但我不能让它与 assets:precompile 一起使用,我不确定它应该是均匀的。

#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)

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

4

1 回答 1

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 %>" >  
于 2011-10-06T19:40:24.113 回答