2014-03-31 35 views
0

我在表中显示了一些来自我的数据库记录的属性(只有两个)。'打破'一个表,4列,每个对象两个

这是行得通的,但现在我想在4列中“分解”我的表格。

例子:

之前

-------- 模式

苹果--------- iphone

三星 - --- s3

motorola ---- razr i

后: -------- 模式 ---- -------- 模式

苹果------- - iphone ------------三星S3 ------

摩托罗拉RAZR ----我

所以,而是一个对象,我希望得到两个。

但是,我不知道该怎么做。有什么建议吗?

现在,我的表是:

<l><b><%= t("reports.graphs.mobiles") %></b></l> 
<table class="zebra-striped"> 
<thead> 
<tr> 
    <th><%= t('labels.maker')%>/<%= t('labels.model')%></th> 
    <th><%= t('labels.distribution')%></th> 
    <th><%= t('labels.maker')%>/<%= t('labels.model')%></th> 
    <th><%= t('labels.distribution')%></th> 
</tr> 
<% makers_model.each do |maker_model| %> 
<tr> 
    <td width="50%" ><%= maker_model[0] %></td> 
    <td><%= ((maker_model[1].to_f)/(makers_model.inject(0) { |sum, tuple| sum += tuple[1] }) * 100).round(2).to_s + "%" %></td> 
    <td width="50%" ><%= maker_model[0] %></td> 
    <td><%= ((maker_model[1].to_f)/(makers_model.inject(0) { |sum, tuple| sum += tuple[1] }) * 100).round(2).to_s + "%" %></td> 
</tr> 
<% end %> 


感谢,并请,对不起,我的英语

回答

1
<% makers_model.each_slice(2) do |slice| %> 
<tr> 
    <% slice.each do |maker_model| %> 
    <td width="50%" ><%= maker_model[0] %></td> 
    <td><%= ((maker_model[1].to_f)/(makers_model.inject(0) { |sum, tuple| sum += tuple[1] }) * 100).round(2).to_s + "%" %></td> 
    <% end %> 
</tr> 
<% end %> 

每片将它们分割成任何的部分你指定的号码。所以,如果我明白你想要什么,你希望他们分成2组,然后遍历该组为表中的每一行

+0

* - *,作品,非常感谢\ o / –

相关问题