Как изменить цвет текста в представлении рельсов - PullRequest
0 голосов
/ 15 октября 2018

Если статус «в ожидании», показать «в ожидании» на синем цвете.Если статус «Принят», показать «Принят» зеленым цветом.Если статус «Отклонен», показать красный цвет.

<% @applyleaves.each do |f| %>
<%= if f.status == 0
                 "Pending" 
       elsif f.status == 1
                 "Accepted"
       elsif f.status == 2
                 "Rejected"
       else
                 "Pending"
       end%>
</td>

1 Ответ

0 голосов
/ 15 октября 2018

Если ваш столбец состояния (атрибут) является целым числом, вы можете использовать перечисление, таким образом, у вас есть только 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>
...