如何在erb中编写while循环

any*_*acy 4 ruby-on-rails erb ruby-on-rails-4

我有一个有两列级别和插槽的表。每个级别可以有很多插槽,但我制作了一张模拟这种情况的表格。例子

level    |   slot
1        |   1
1        |   2
1        |   2
2        |   1
2        |   2
2        |   2
Run Code Online (Sandbox Code Playgroud)

在我的 erb 模板中,我想制作一个表格,通过制作网格之类的东西来模拟这种情况。到目前为止的问题是我想要像两个循环这样的东西来处理这种情况。对于每个级别,我都会获取插槽数量并显示它们。提供的each循环没有帮助。我正在考虑创建一个变量来跟踪级别变量,当它发生变化时,我调用内部循环。但这对我来说循环效率不高。

我还在考虑创建一个 json 对象并将插槽作为 level 变量内的数组重复,但我不知道从哪里开始。

或者有没有办法在 erb 模板中编写 while 循环?

小智 5

您可以这样在 ruby​​ (erb) 中编写循环:

<% loop do %>
  ...
  <% break if <condition> %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

请参阅Ruby 中是否有“do ... while”循环?