#ruby-on-rails #activeadmin
#ruby-on-rails #activeadmin
Вопрос:
Я новичок в Ruby on Rails. Я использую Active Admin для своего приложения. Я хочу раскрасить строку, если условие истинно, а какой-то другой цвет является условием false.
tr.odd, tr.even {
amp;.test {
td.col {
background-color: red;
}
}
}
Я хочу применить это условие для тестового класса. Есть ли какой-либо способ выполнить эту задачу?
Ответ №1:
Я бы рекомендовал иметь два разных класса CSS, а затем применять разные классы в ваших представлениях ERB, например, так:
<tr class="<%= condition ? 'test' : 'default' %>">
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
В идеале вы должны перенести это в помощник, подобный этому
# application_helper.rb
def css_class_for(condition)
if condition
'test-css-class'
else
'other-css-class'
end
end
# view
<tr class="<%= css_class_for(true) %>">
<td>1</td>
<td>2</td>
<td>3</td>
</tr