2015-12-03 5 views
0

У меня есть модель Runn, которая имеет булево поле occupied. Моя цель - перечислить идентификаторы каждого Runn в Ward, отображая занятые Runns в зеленом и пустом Runns в красном. В настоящее время яИзменение цвета каждого элемента списка в Rails

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

, как получить доступ к каждой отдельной runn, чтобы сравнить их occupied поле?

ответ

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; 
} 
Смежные вопросы