Построение 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)
Другие вопросы по тегам