繁体   English   中英

如何在Ruby中的每个循环之后添加“ 0”

[英]How to add “0,” after each loop in Ruby

如何在Ruby中的每个循环之后添加“ 0”(在数据处:系列的一部分)

So first loop would 
show only the value 
next loop 0,value
next loop 0,0,value 
next loop 0,0,0,value
etc..




series: [
    <% @prot = ProjectTask.where("project_id = ? AND taskType = ?" ,@project.id, "Pre-Sales")%>
            <% @prot.each do |prt| %>
            <% hoursSum = 0 %>
          {
              name: '<%= prt.task_name%>',
              data: [(here after each loop of @prot i want to add "0," here)<% @taskHours = Effort.where(:project_task_id => prt.id) %>
                        <% @taskHours.each do |th| %>
                            <% hoursSum = hoursSum + th.hours %>
                        <% end %>
                        <%= hoursSum%>
              ]
          },<% end %>
<% @prot.each_with_index do |index, prt| %>
    ...
    <%= "0," * index %>
    ...
<% end %>

这种逻辑似乎太复杂了,无法在视图中显示-我将其迁移到构建数据数组的辅助函数中,然后调用该函数。

我认为您会发现,无需处理所有erb标记等杂乱无章的事情就容易多了。您可以通过多种方式进行操作each_with_index建议使用each_with_index是一个非常好的方法。

不过有两件事-我建议不要使用@prot类的缩写名-只需将其命名为@project_task 它更具可读性,您可以保证在整个代码中都使用相同的名称(而不是在某些地方将其@prot ,而在其他地方则将其@ptask等)将为您节省更多的时间,而不会丢失键入更长的名称的情况,我答应你。

另外-您对某些变量使用camelCase-我建议您坚持使用snake_case的Ruby约定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM