好了,所以我在翻譯一個部分:Rails的:組織與部分行:收集
<%= render :partial => "box", :collection => @dashboard.charts %>
在部分我組織每個「盒子」成3行像這樣:
if box_counter % 3 == 0 && box_counter != 0
%></div><div class='row'><%
end
這很好用。
這是我的問題。我得到了我的數學,但我不知道如何將它翻譯成Ruby。讓我解釋。
每個盒子都有一個尺寸。小,中,大。所有尺寸都被分配了一個寬度。 20%,30%和50%。其總和達到100%。
用戶可以在每一行中具有這些框的任何排列。我需要做的是檢查行中的方框合計爲100%。因此,如果它低於或超過100%,我將得到差異,除以3,並將該百分比添加或移除到每個框中,使每個框加起來爲100%。
例如。用戶可以組合大型盒子,大型盒子和小型盒子。這增加了120%。因此,我們得到的差異是20%,將它除以3 = 6.6%,然後從3個盒子中刪除(因爲我們超過了100%)。因此:LargeBox = 43.4%,LargeBox = 43.4%,Small Box = 13.4%。這將加起來達到100%。 (或接近於此)。
我一直在與Ruby的工作,只是不知道如何讓我的數學進入循環或什麼。真的卡在這裏傢伙。我將不勝感激。
乾杯。
你在你的部分組織行的方式非常脆弱,我會*不*這樣做。如果你想將你的列分組成行,我會看看類似['slice'](http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-slice )或['group_by'](http://apidock.com/rails/Enumerable/group_by)。這也可能會讓數學變得更容易。 –
p.s.你能否顯示部分代碼?這些寬度是否來自「圖表」模型的屬性? –
是的。寬度(尺寸)來自圖表模型。例如。 '