Ruby 如何在rails视图中更改文本颜色
如果状态为“待定”,则以蓝色显示“待定”。如果状态为“已接受”,则以绿色显示“已接受”。如果状态为“拒绝”,则显示红色Ruby 如何在rails视图中更改文本颜色,ruby,ruby-on-rails-4,ruby-on-rails-5,Ruby,Ruby On Rails 4,Ruby On Rails 5,如果状态为“待定”,则以蓝色显示“待定”。如果状态为“已接受”,则以绿色显示“已接受”。如果状态为“拒绝”,则显示红色 <% @applyleaves.each do |f| %> <%= if f.status == 0 "Pending" elsif f.status == 1 "Accepted" elsif f.status == 2 "R
<% @applyleaves.each do |f| %>
<%= if f.status == 0
"Pending"
elsif f.status == 1
"Accepted"
elsif f.status == 2
"Rejected"
else
"Pending"
end%>
</td>
如果您的状态列(属性)是整数,则可以使用枚举,这样您只有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>
.待定状态{
颜色:蓝色;
}
.被接受的身份{
颜色:绿色;
}
.被拒绝的身份{
颜色:红色;
}
如果您的状态列(属性)是整数,则可以使用枚举,这样您只有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>
.待定状态{
颜色:蓝色;
}
.被接受的身份{
颜色:绿色;
}
.被拒绝的身份{
颜色:红色;
}
Ok,我将枚举状态:{挂起:0,接受:1,拒绝:2}放在模型中的位置。在提供的答案下方添加您想要的任何注释。您的erb标记
未正确关闭,您要求枚举状态具有字符串,但在代码中包含数字。确定,我将枚举状态:{挂起:0,接受:1,拒绝:2}放在模型中。在提供的答案下面添加任何您想做的评论。您的erb标记
没有正确关闭,您在问题中要求枚举状态包含字符串,但在代码中包含数字。如何直接调用enum
状态为f.status。如果它包含哈希值,则大写?我的朋友,如果f
是一个(名字不好)AR对象,其枚举状态可按其名称访问。无论属性是否由Rails表示为散列。如何直接调用enum
status作为f.status。如果它包含散列,则大写
?我的朋友,如果f
是一个(命名不好的)AR对象,则其枚举状态可以按命名方式访问。不管属性是否由Rails表示为哈希。