在循环集合中获取后续对象

时间:2014-09-05 12:43:35

标签: ruby-on-rails ruby-on-rails-4 cycle

我有一个按姓氏排序的用户集合。

User.order(last_name: :asc)

我希望让用户超越另一个(存储在变量中),如果最后一个收集得到第一个。

对此有什么更好的解决方案,而不是我做过的事情?

user # stored user object
users = User.order(last_name: :asc)
index = users.index {|item| item == user}
succeeding = if user == users[index].last then users[index].first else users[index + 1] end

1 个答案:

答案 0 :(得分:0)

user # stored user object
users = User.order(last_name: :asc)

succeeding = users[users.find_index(user)+1]||users.first