好的,所以我正在渲染部分内容:
<%= 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 研究这个,只是不知道如何让我的数学进入循环或其他东西。真的被困在这里了伙计们。我将不胜感激。
干杯。