gpt4 book ai didi

ruby-on-rails - 如何使用循环和 haml 和 ruby​​ 创建一个表?

转载 作者:行者123 更新时间:2023-12-03 11:32:52 24 4
gpt4 key购买 nike

我正在尝试制作一个如下所示的 html 表格:

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

我的数据结构是这样的:@f_ary = [ 1..250]

这是我的haml代码:
%table{:border => "1"}
%tbody
%tr
- cnt = 0
- @f_ary.each do |f|
- cnt += 1
%td= cnt
- if cnt == 5
- cnt = 0
%tr

我当前的输出如下所示:
<table border='1'>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<tr></tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
</tbody>
</table>

我希望它看起来像这样:
<table border='1'>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
</tbody>
</table>

最佳答案

您应该尝试将用于创建行和列数组的所有逻辑放在您的 Controller 中。在 Haml 中渲染 View 变得非常简单:

Controller :

@items = [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15]
]

查看:
%table
%tbody
- @items.each do |row|
%tr
- row.each do |column|
%td= column

如果你有一个平面数组而不是我的例子中的数组数组,你可以很容易地用 flat_array.each_slice(5).to_a 来转换它。 ,其中 5是列数。

关于ruby-on-rails - 如何使用循环和 haml 和 ruby​​ 创建一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5521757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com