Динамическое добавление класса в div в .erb с помощью Ruby on Rails - PullRequest
6 голосов
/ 10 июня 2010

У меня есть этот div

<div class='notice'>

И я хочу, чтобы результат был

<div class="notice error">

И есть ли способ добавить класс в моем эрбе? Я пытался

<div class="notice #{new_class}">

Но это не уходит в код ruby ​​при рендеринге ...

а идеи?

Ответы [ 3 ]

25 голосов
/ 10 июня 2010

Это с <%= %>

<div class="notice <%= new_class %>">
13 голосов
/ 10 июня 2010

Я считаю,

<div class="notice <%= h new_class -%>">

работает, хотя и немного некрасиво.Вы также можете сделать красивее, но длиннее

<%= content_tag(:div, "Your content here", :class => "notice #{new_class}") %>
0 голосов
/ 12 октября 2018

Если вы используете HAML , это довольно просто

.notice { class: "#{new_class}" }

Его также можно добавить, если определенное условие выполняется.Зеленый класс будет добавлен, только если процент завершения равен 100.

.progress-bar{style: "width: #{percent_complete}%;", class: [(percent_complete == 100) && "green"]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...