我有一组我想用部分渲染的项目:
@items = ['a','b','c']
<%= render :collection => @items, :partial => 'item' %>
我想用升序对元素进行编号。所以输出应该是:
3: a
2: b
1: c
我知道 rails 在部分内部提供了一个计数器,所以如果我想对项目进行编号,我可以创建以下部分:
<%= item_counter %>: <%= item %>
这给了我
1: a
2: b
3: c
但是对于升序的数字,我需要项目的总数,我可以提供一个局部的局部:
<%= render :collection => @items, :partial => 'item', :locals => {:total => @items.size} %>
然后在部分:
<%= total - item_counter %>: <%= item %>
但在我看来,这就像重复,因为 render 方法已经知道集合的大小。
除了使用局部变量之外,真的没有办法在部分中获取集合的项目总数吗?