Ruby on rails 增量链接的基本计数器在我的视图中未正确显示
我有许多步骤,我有一个计数器,我想随着块在步骤中的迭代而递增。更具体地说,如果它的媒体类型是“excel”或其他任何东西,我希望它说第2步、第3步、第4步等。但是在视图中它只说第1步、第1步、第1步-它没有正确地递增。怎么了?任何帮助都将不胜感激Ruby on rails 增量链接的基本计数器在我的视图中未正确显示,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有许多步骤,我有一个计数器,我想随着块在步骤中的迭代而递增。更具体地说,如果它的媒体类型是“excel”或其他任何东西,我希望它说第2步、第3步、第4步等。但是在视图中它只说第1步、第1步、第1步-它没有正确地递增。怎么了?任何帮助都将不胜感激 <% @step_list.each do |i| %> <% x = 0 %> <% case %> <% when i.media_type == 'video' %> <%
<% @step_list.each do |i| %>
<% x = 0 %>
<% case %>
<% when i.media_type == 'video' %>
<% x += 1 %>
<li class="active">
<span>Video</span>
</a>
</li>
<% when i.media_type == 'excel' %>
<% x += 1 %>
<li class="">
<span>Step <%= x %> </span>
</li>
<% else %>
<% x += 1 %>
<li class="dark-nav ">
<span>Step <%= x %></span>
</li>
<% end %>
<% end %>
视频
步
步
为什么不使用
代码中的问题是您在每个循环中初始化变量
x
,您应该在循环之前将其初始化为零
要解决此问题,您可以使用方法重构此问题。每个_带有|索引do |元素i |
:
<% @step_list.each_with_index do |step, i| %>
<% case step.media_type %>
<% when 'video' %>
<li class="active">
<span>Video</span>
</li>
<% when 'excel' %>
<li class="">
<span>Step <%= i %></span>
</li>
<% else %>
<li class="dark-nav ">
<span>Step <%= i %></span>
</li>
<% end %>
<% end %>
视频
步
步
每次重置x时,请尝试:
<% @step_list.each_with_index do |i,index| %>
<% case i.media_type %>
<% when 'video' %>
<li class="active">
<span>Video</span>
</a>
</li>
<% when 'excel' %>
<li class="">
<span>Step <%= index %> </span>
</li>
<% else %>
<li class="dark-nav ">
<span>Step <%= index %></span>
</li>
<% end %>
<% end %>
<% end %>
视频
步
步
<% @step_list.each_with_index do |i,index| %>
<% case i.media_type %>
<% when 'video' %>
<li class="active">
<span>Video</span>
</a>
</li>
<% when 'excel' %>
<li class="">
<span>Step <%= index %> </span>
</li>
<% else %>
<li class="dark-nav ">
<span>Step <%= index %></span>
</li>
<% end %>
<% end %>
<% end %>