Rails 关于 haml 使用的一个问题

realwol · 发布于 2014年3月14日 · 最后由 realwol 回复于 2014年3月16日 · 1373 次阅读
4933
<% @users.each_with_index do | user, index| %>
  <% if ( index+1)%3 == 1 %>
    <tr> blabla
  <% end %>
      <td>
        <%= user.blabla %>
      </td>
 <% if ( index+1)%3 == 0 %>
    </tr>
  <% end %>
<% end%>

代码粗鄙。简单来说,array @users里边的数据三个一组放在tr里,这个逻辑怎么用haml实现。

共收到 15 条回复
1573

其实不用表格就非常简单了。

4933

#1楼 @nightire 这个是js里要用到的三个一排的轮显,标签好像固定的。复杂与否我觉得不是问题,我发帖的原因是好像haml在实现这种逻辑的时候有个坑。或者这种问题haml团队知道了,有了特殊的解决方法而我不知道,所以来求教。

2474
@users.each_slice(3) do |user|
  # user[0], user[1], user[2]
end
67

http://haml2erb.herokuapp.com/

楼主先把这个链接收藏起来,以后应该会用到的 :D

4933

#4楼 @Kabie 我说的问题的点不在ruby语法上,而在haml语法上。不过你给的方法确实是能解决这个问题,非常感谢。

4933

#5楼 @_samqiu 恩,非常感谢,很实用。