使用content_tag在rails上的ruby中构建HTML表

时间:2012-12-06 13:13:06

标签: html ruby-on-rails ruby html-table content-tag

我正在尝试使用content_tag方法在Ruby On Rails中构建一个html表。

示例:

@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 个答案:

答案 0 :(得分:3)

您可以使用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]))
    # ....
 )

或使用循环 - 如评论中建议的那样

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)