Rails:使用调试器来改变Rails应用程序的执行路径

时间:2016-12-02 00:16:39

标签: ruby-on-rails debugging

我正在运行Rails v4.x和Ruby v2.3。我想使用调试工具(例如,调试器)来动态测试Rails视图中的不同执行路径。具体来说,我试图在Rails视图中测试if语句的两个路径(即,“if”块和“else”块)。以下是包含我想要测试的视图的代码:

<% if @categories.any? %>
  <% @categories.each do |category| %>
    <ul class="listing">
      <div class="row">
        <div class="well col-md-4 col-md-offset-4">
          <li class="article-title">
            <%= link_to "#{category.name}", category_path(category) %>
            <li><small><%= pluralize(category.articles.count, "article") %></small></li>
          </li>
        </div>
      </div>
    </ul>
  <% end %>
<% else %>
  <div class="center">
      <p>There are no categories currently defined at this time</p>
  </div>
<% end %>

要做到这一点,我希望能够动态更改@ categories.any的返回值?方法以强制所需的执行路径。有没有可以用来做这个的工具?我可以用“调试器”吗?撬?。如果是这样,你能提供一些如何做到的简单说明吗?

注意:@categories是一个包含数据模型(类别)值的即时变量。我不想删除Category表的内容只是为了测试上述代码的else部分。

此致 喷射

1 个答案:

答案 0 :(得分:0)

好吧,因为你必须编辑文件,添加调试器行,你也可以添加另一个变量,不是吗?

<% if (@categories.any? && !@never_run) || @always_run %>