Javascript 嵌套。每个都在嵌入式ruby上,不打印任何内容

Javascript 嵌套。每个都在嵌入式ruby上,不打印任何内容,javascript,ruby-on-rails,ruby,nested,Javascript,Ruby On Rails,Ruby,Nested,我在使用嵌入式ruby时遇到了一些问题。我试图遍历一些变量,以打印一些JavaScript代码 这是以下代码: <% color1 = '#ff0000' %> <% color2 = '#00ff00' %> <% color3 = '#ffff00' %> <% i = 0 %> <% j = 0 %> <% @chapters.each do |chapter| %> sigInst.addNode('c

我在使用嵌入式ruby时遇到了一些问题。我试图遍历一些变量,以打印一些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 %>

sigInst.addNode('cap'{
标签:“cap”,
颜色:'',
x:,,
y:
}).draw();
sigInst.addEdge('cap_cap','cap','cap')。draw();

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

你忘了做一个
。每个
都取决于你的决定

所以固定的行是:


Ruby有时有一个恼人的特性,允许您将块传递给任何东西,不管它是否使用它。因此,在本例中,您只是将块传递给decisions方法,而decisions方法与此无关。

什么是
chapter.decisions
?您是否调试并确保属性
decisions
返回一个值?这个
y:
是否应该是'y:?“Ruby有时有一个恼人的特性,允许您将块传递给任何东西”,可能应该写为“我们有一个恼人的习惯,即无论他们是否使用块,都试图将块传递给对象。”我不能把自己的错误归咎于鲁比,我同意。有非常合理的理由解释为什么会这样,我只是指出这是一个常见的bug来源。谢谢!真不敢相信我错过了!