Построение HTML-таблицы в ruby на рельсах с использованием content_tag
Я пытаюсь построить HTML-таблицу в Ruby On Rails с помощью метода content_tag.
Пример:
@template.content_tag(:tr, @template.content_tag(:td, options[:argument0]))
Это должно сделать для
<tr><td>content of argument0</td></tr>
Что мне нужно, это что-то вроде
<tr><td>content of argument0</td><td>argument1</td> ... </tr>
Могу ли я построить это с помощью того же метода? Как я могу передать два тега content_tags?
1 ответ
Решение
Ты можешь использовать concat
:
@template.content_tag(:tr,
@template.content_tag(:td, options[:argument0]).
concat(@template.content_tag(:td, options[:argument1])).
concat(@template.content_tag(:td, options[:argument2]))
# ....
)
Или используя цикл - как предложено в комментариях OP
rows = returning "" do |cells|
5.times do |i|
cells.concat @template.content_tag(:td, options["argument#{i}".to_sym]
end
end
@template.content_tag(:tr,rows)