0

我在嵌入红宝石时遇到了一些问题。我正在尝试遍历一些变量,以打印一些 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 出现在视图中,但第二部分不打印任何内容。发生了什么?谢谢

4

1 回答 1

0

你忘了做.each你的决定。

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

Ruby 有一个有时令人讨厌的特性,它允许您将块传递给任何东西,无论它是否使用它。所以在这种情况下,你只是将块传递给决策方法,它什么都不做。

于 2013-10-20T23:46:18.417 回答