【发布时间】:2012-11-15 12:49:42
【问题描述】:
我有一组想要部分渲染的项目:
@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 %>
但对我来说感觉像是重复,因为渲染方法已经知道集合的大小。
除了使用局部变量之外,真的没有办法获取部分内集合的项目总数吗?
【问题讨论】:
-
没有。 See for yourself
-
我看了看那里,但我觉得我错过了什么。
标签: ruby-on-rails