内部反转计数器部分

时间:2014-02-21 15:23:00

标签: ruby-on-rails ruby

Rails在部分内部提供resource_counter

= render @users
# _user.html.slim
= user_counter + 1
= user.name
  

1马文   2 Starvin
  3加文

是否可以反向计数?

  

3 Garvin
  2 Starvin
  1马文

2 个答案:

答案 0 :(得分:4)

= render @users

# _user.html.slim
= @users.count - user_counter
= user.name

这应该反转显示的数字。


Antek Drzewiecki评论了差异计数/大小:

  • .count可能会向DB调用另一个查询
  • .size只计算数组的大小

总之,您最好使用.size

答案 1 :(得分:1)

可能使用以下内容撤消用户列表:

render @users.reverse

然后在部分中使用:

确定用户的索引为@MrYoshiji

@users.size - user_counter

无论如何只是因为有人对我的anwser进行了投票,这是它的工作原理。

a = %w(Marvin Starvin Garvin)
=> ["Marvin", "Starvin", "Garvin"]
a.reverse!
=> ["Garvin", "Starvin", "Marvin"]
user_size = a.size
=> 3
user_counter = 0
=> 0
a.each { |user| puts "#{user_size - user_counter} #{user}"; user_counter = user_counter + 1}
3 Garvin
2 Starvin
1 Marvin   

这导致记者描述了所需的清单。如果您只想反转计数器,则不要反转数组;)