在Rails中更改列表中每个项目的颜色

时间:2015-12-03 19:37:51

标签: ruby-on-rails

我的模型Runn具有布尔字段occupied。我的目标是在Runn中列出每个Ward的ID,以绿色显示已占用的Runns,将红色的Runns显示为红色。目前我有

<p>
  <strong>List of Runns (ids)</strong>
  <%= @ward.runns.ids %>
</p>

如何访问每个人runn以比较他们的occupied字段?

2 个答案:

答案 0 :(得分:2)

您可以遍历它们。我不确定你想知道它是“被占用”还是“空” - 用你的支票替换下面例子中的r.occupied?

<p>
  <strong>List of Runns (ids)</strong>
  <% @ward.runns.each do |r| %>
    <span style="color: <%= r.occupied? ? 'green' : 'red' %>">
      <%= r.id %>
    </span>
  <% end %>
</p>

答案 1 :(得分:0)

您应该根据boolean字段给出不同的课程,如下所示:

<p>
  <strong>List of Runns (ids)</strong>
  <% @ward.runns.each do |r| %>
    <span class="<%= r.occupied? ? 'runn-occupied' : 'runn-empty' %>">
      <%= r.id %>
    </span>
  <% end %>
</p>

在你css文件中,为它们添加不同的样式(颜色,边距,大小......):

.runn-occupied{
  background-color: green;
}
.runn-empty{
  background-color: red;
}