2013-10-20 21 views
0

我有一些嵌入式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來實現的曲線圖。第一部分出現在視圖中,但第二部分不打印任何內容。發生了什麼?謝謝

+0

什麼是'chapter.decisions'?你有沒有調試過,並確保屬性「決定」返回一個值? – zealoushacker

+0

這個'y:<%= i = i %>'應該是'y:<%= j = j %>? – tihom

回答

0

你忘了做你的決定.each

所以固網是:<% chapter.decisions.each do |decision| %>

Ruby有讓您塊傳遞給什麼,它是否使用與否的有時煩人的功能。因此,在這種情況下,您只是將該塊傳遞給決策方法,該方法對此無能爲力。

+0

「Ruby有時會讓人傳遞任何東西的煩人特性」應該寫成「我們有這種惱人的習慣,試圖通過一個塊來阻止事物是否使用它。」我不能責怪Ruby自己的錯誤。 –

+0

同意。爲什麼會出現這種情況有很多合理的原因,只是指出它是一個常見的錯誤來源。 – Aaronneyer

+0

謝謝!我不敢相信我錯過了! – HugoPro