0

我正在尝试借助 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?

4

1 回答 1

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]))
    # ....
 )

或使用循环 - 正如评论中建议的 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)
于 2012-12-06T13:16:37.597 回答