`
hideto
  • 浏览: 2677150 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Rails宝典之第二十八式: in_groups_of

    博客分类:
  • Ruby
阅读更多
这次讲的是active_support/core_ext/array/grouping.rb里的in_groups_of方法
        #   %w(1 2 3 4 5 6 7).in_groups_of(3) {|g| p g}
        #   ["1", "2", "3"]
        #   ["4", "5", "6"]
        #   ["7", nil, nil]
        #
        #   %w(1 2 3).in_groups_of(2, ' ') {|g| p g}
        #   ["1", "2"]
        #   ["3", " "]
        #
        #   %w(1 2 3).in_groups_of(2, false) {|g| p g}
        #   ["1", "2"]
        #   ["3"]

in_groups_of的第一个参数指示几个元素一组,而第二个参数指示了当最后一组缺元素时用什么填补位置
我们可以几个一组来显示tasks了:
<table>
<% @tasks.in_groups_of(4) do |row_tasks| %>
  <tr>
    <% for task in row_tasks %>
      <td><%= task.name %></td>
    <% end %>
  </tr>
<% end %>
</table>
分享到:
评论
1 楼 zllicho 2008-10-05  
当显示条目不为4的倍数时,会发生错误,分组里有nil,nil调用.name显示会报错,所以
引用
<table>
<% @tasks.in_groups_of(4,false) do |row_tasks| %>
  <tr>
    <% for task in row_tasks %>
      <td><%= task.name %></td>
    <% end %>
  </tr>
<% end %>
</table>

相关推荐

Global site tag (gtag.js) - Google Analytics