我遇到嵌入式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 %>
我正在使用Sigma js来实现图表。第一个.each出现在视图中,但第二部分不打印任何内容。发生了什么?感谢
答案 0 :(得分:0)
你忘了对你的决定做.each
。
所以固定行是:<% chapter.decisions.each do |decision| %>
Ruby有一个令人讨厌的功能,允许你将块传递给任何东西,无论它是否使用它。所以在这种情况下,你只是将块传递给决策方法,它对它没有任何作用。