Rails content_tag для элемента <ul>
Как бы получить следующий вывод html с помощником content_tag?
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
Это то, что у меня сейчас
content_tag(:ul) do
a=*(1..5)
a.each do |step_number|
content_tag(:li, class: "step") do
puts step_number
end
end
end
Обновление - Ответ
Благодаря петле Питера и выводу content_tags в пределах content_tag во вспомогательной ссылке ниже, я пропустил concat
на li
Предметы
content_tag :ul do
items.collect do |step_number|
concat(content_tag(:li, step_number, class: "step"))
end
end
2 ответа
Меня устраивает.
content_tag(:ul, :class => 'a class') do
(1..5).each do |item|
concat content_tag(:li, item)
end
end
<ul class="a class">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
Я думаю, все, что вам нужно исправить, это
content_tag(:ul) do
(1..5).to_a.map do
content_tag(:li, step_number, class: "step)
end.reduce(&:+)
end
Это должно сделать работу!