我想列出一个侧面导航栏。导航应该说视频,然后是步骤1,步骤2和步骤3.它可以正常工作和显示,但奇怪的是,一旦我从视频转到步骤1,它会改为步骤0,步骤1,步骤2和步骤3当我进入第3步时 - 没有显示任何内容。我的代码下面有问题,任何帮助都会受到赞赏。
<% @step_list.each_with_index do |step, i| %>
<% case step.media_type %>
<% when 'video' %>
<li class="active">
<span class="glow"></span>
<a href="<%= i %>">
<i class='icon-info-sign icon-2x'></i>
<span>Video</span>
</a>
</li>
<% when 'excel' %>
<li class="">
<span class="glow"></span>
<a href="<%= i %>">
<i class="<%= icon[i] %> icon-2x"></i>
<span>Step <%= i %> </span>
</a>
</li>
<% else %>
<li class="dark-nav ">
<span class="glow"></span>
<a href="<%= i %>">
<i class="<%= icon[i] %> icon-2x"></i>
<span>Step <%= i %></span>
</a>
</li>
<% end %>
<% end %>
这是我的步骤控制器
class StepsController < ApplicationController
def show
@level = Level.find(params[:id])
@step = Step.find(params[:id])
@step_list = @level.steps
end
end
答案 0 :(得分:1)
参数是Parameters: {"course_id"=>"1", "level_id"=>"1", "id"=>"1"}
,因此您应该将show
操作的这一行更新为:@level = Level.find(params[:level_id])
。
以下是调试此问题的方法。
控制器:
def show
@level = Level.find(params[:id])
@step = Step.find(params[:id])
@step_list = @level.steps
puts "**************************************"
puts "VALUE OF @step_list in controller"
puts @step_list
end
如果在检查@step_list
后无法解决问题,请在问题中粘贴@step_list
值,我会看看是否可以弄清楚发生了什么:)
答案 1 :(得分:0)
它可能是step.media_type,它没有给你'视频'并且总是落入'else'块。