如果状态为“待处理”,则将“待处理”显示为蓝色。如果状态为“已接受”,则以绿色显示“已接受”。如果状态为“已拒绝”,则显示红色。
<% @applyleaves.each do |f| %>
<%= if f.status == 0
"Pending"
elsif f.status == 1
"Accepted"
elsif f.status == 2
"Rejected"
else
"Pending"
end%>
</td>
答案 0 :(得分:5)
如果您的状态列(属性)是整数,则可以使用枚举,这样您就只有3个有效值:
# model
enum status: { pending: 0, accepted: 1, rejected: 2 }
每个键给它们一个可读的值。因此,在您的视图中,您可以仅创建任何html标记,以分配一个类,该类先前已使用所需的彩色文本进行了定义:
<span class="<%= "#{f.status.downcase}_status" %>">
<%= f.status.capitalize %>
</span>
CSS不仅限于此:
<style>
.pending_status {
color: blue;
}
.accepted_status {
color: green;
}
.rejected_status {
color: red;
}
</style>