Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 增量链接的基本计数器在我的视图中未正确显示_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 增量链接的基本计数器在我的视图中未正确显示

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' %> <%

我有许多步骤,我有一个计数器,我想随着块在步骤中的迭代而递增。更具体地说,如果它的媒体类型是“excel”或其他任何东西,我希望它说第2步、第3步、第4步等。但是在视图中它只说第1步、第1步、第1步-它没有正确地递增。怎么了?任何帮助都将不胜感激

 <% @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 %>