嵌套在嵌入式红宝石上,不打印任何内容

Nested .each on embedded ruby not printing anything

本文关键字:打印 任何内 嵌入式 红宝石 嵌套      更新时间:2023-09-26

我在嵌入式红宝石方面遇到了一些问题。我正在尝试遍历一些变量,以打印一些JavaScript代码。

这是以下代码:

<% color1 = '#ff0000' %>
<% color2 = '#00ff00' %>
<% color3 = '#ffff00' %>
<% i = 0 %>
<% j = 0 %>
<% @chapters.each do |chapter| %>
      sigInst.addNode('cap<%= chapter.reference %>',{
        label: 'cap <%= chapter.reference %>',
        color: '<%= j%2==0 ? color1 : color2 %>',
        x: <%= i = i %>,
        y: <%= i = i %>
      }).draw();
  <% i = i + 0.1 %>
  <% j=j+1 %>
<% end %>
<% @chapters.each do |chapter| %>
  <% chapter.decisions do |decision| %>
        sigInst.addEdge('cap<%= chapter.reference %>_cap<%= decision.destiny_num %>','cap<%= chapter.reference %>','cap<%= decision.destiny_num %>').draw();
  <% end %>
<% end %>

我正在使用Sigma js来实现图形。第一个 .each 显示在视图中,但第二部分不打印任何内容。发生了什么事情?谢谢

你忘了对你的决定做一个.each

所以固定线路将是:<% chapter.decisions.each do |decision| %>

Ruby 有一个有时很烦人的功能,它允许你将一个块传递给任何东西,无论它是否使用它。因此,在这种情况下,您只需将块传递给决策方法,该方法对它没有任何作用。